<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://autosar.org/schema/r4.0" xmlns:AR="http://autosar.org/schema/r4.0">
   <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
   <!-- 
    Document Owner:                 AUTOSAR
    Document Responsibility:        AUTOSAR
    Document Identification Number: 230
    Document Classification:        Standard
    Document Status:                Final
    Part of AUTOSAR Standard:       Classic Platform
    Part of AUTOSAR Release:        4.3.0
-->
   <!--
Disclaimer

This specification and the material contained in it, as released by AUTOSAR, is
for the purpose of information only. AUTOSAR and the companies that have
contributed to it shall not be liable for any use of the specification.

The material contained in this specification is protected by copyright and
other types of Intellectual Property Rights. The commercial exploitation of the
material contained in this specification requires a license to such
Intellectual Property Rights.

This specification may be utilized or reproduced without any modification, in
any form or by any means, for informational purposes only. For any other
purpose, no part of the specification may be utilized or reproduced, in any
form or by any means, without permission in writing from the publisher.

The AUTOSAR specifications have been developed for automotive applications
only. They have neither been developed, nor tested for non-automotive
applications.

The word AUTOSAR and the AUTOSAR logo are registered trademarks.



Advice for users

AUTOSAR specifications may contain exemplary items (exemplary reference models,
"use cases", and/or references to exemplary technical solutions, devices,
processes or software).

Any such exemplary items are contained in the specifications for illustration
purposes only, and they themselves are not part of the AUTOSAR Standard.
Neither their presence in such specifications, nor any later documentation of
AUTOSAR conformance of products actually implementing such exemplary items,
imply that intellectual property rights covering such exemplary items are
licensed under the same rules as applicable to the AUTOSAR Standard.

-->
   <!-- element group for class ARPackage::ARElement -->
   <xsd:group name="AR-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>An element that can be defined stand-alone, i.e. without being part of another element (except for packages of course).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ARElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ArObject::ARObject -->
   <xsd:group name="AR-OBJECT">
      <xsd:annotation>
         <xsd:documentation>Implicit base class of all classes in meta-model.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ARObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class ArObject::ARObject -->
   <xsd:attributeGroup name="AR-OBJECT">
      <xsd:annotation>
         <xsd:documentation>Implicit base class of all classes in meta-model.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ARObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="S" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Checksum calculated by the user's tool environment for an ArObject. May be used in an own tool environment to determine if an ArObject has changed. The checksum has no semantic meaning for an AUTOSAR model and there is no requirement for AUTOSAR tools to manage the checksum.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="ARObject.checksum";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true";xml.name="S"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="T" type="AR:DATE--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Timestamp calculated by the user's tool environment for an ArObject. May be used in an own tool environment to determine the last change of an ArObject. The timestamp has no semantic meaning for an AUTOSAR model and there is no requirement for AUTOSAR tools to manage the timestamp.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="ARObject.timestamp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true";xml.name="T"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class ARPackage::ARPackage -->
   <xsd:group name="AR-PACKAGE">
      <xsd:annotation>
         <xsd:documentation>AUTOSAR package, allowing to create top level packages to structure the contained ARElements.

ARPackages are open sets. This means that in a file based description system multiple files can be used to partially describe the contents of a package.

This is an extended version of MSR's SW-SYSTEM.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ARPackage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCE-BASES">
            <xsd:annotation>
               <xsd:documentation>This denotes the reference bases for the package. This is the basis for all relative references within the package. The base needs to be selected according to the base attribute within the references.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortLabel";mmt.qualifiedName="ARPackage.referenceBase";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="REFERENCE-BASE" type="AR:REFERENCE-BASE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>Elements that are part of this package
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ARPackage.element";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACL-OBJECT-SET" type="AR:ACL-OBJECT-SET"/>
                  <xsd:element name="ACL-OPERATION" type="AR:ACL-OPERATION"/>
                  <xsd:element name="ACL-PERMISSION" type="AR:ACL-PERMISSION"/>
                  <xsd:element name="ACL-ROLE" type="AR:ACL-ROLE"/>
                  <xsd:element name="ALIAS-NAME-SET" type="AR:ALIAS-NAME-SET"/>
                  <xsd:element name="APPLICATION-ARRAY-DATA-TYPE" type="AR:APPLICATION-ARRAY-DATA-TYPE"/>
                  <xsd:element name="APPLICATION-PARTITION" type="AR:APPLICATION-PARTITION"/>
                  <xsd:element name="APPLICATION-PRIMITIVE-DATA-TYPE" type="AR:APPLICATION-PRIMITIVE-DATA-TYPE"/>
                  <xsd:element name="APPLICATION-RECORD-DATA-TYPE" type="AR:APPLICATION-RECORD-DATA-TYPE"/>
                  <xsd:element name="APPLICATION-SW-COMPONENT-TYPE" type="AR:APPLICATION-SW-COMPONENT-TYPE"/>
                  <xsd:element name="BLUEPRINT-MAPPING-SET" type="AR:BLUEPRINT-MAPPING-SET"/>
                  <xsd:element name="BSW-ENTRY-RELATIONSHIP-SET" type="AR:BSW-ENTRY-RELATIONSHIP-SET"/>
                  <xsd:element name="BSW-IMPLEMENTATION" type="AR:BSW-IMPLEMENTATION"/>
                  <xsd:element name="BSW-MODULE-DESCRIPTION" type="AR:BSW-MODULE-DESCRIPTION"/>
                  <xsd:element name="BSW-MODULE-ENTRY" type="AR:BSW-MODULE-ENTRY"/>
                  <xsd:element name="BSW-MODULE-TIMING" type="AR:BSW-MODULE-TIMING"/>
                  <xsd:element name="BUILD-ACTION-MANIFEST" type="AR:BUILD-ACTION-MANIFEST"/>
                  <xsd:element name="CALIBRATION-PARAMETER-VALUE-SET" type="AR:CALIBRATION-PARAMETER-VALUE-SET"/>
                  <xsd:element name="CAN-CLUSTER" type="AR:CAN-CLUSTER"/>
                  <xsd:element name="CAN-FRAME" type="AR:CAN-FRAME"/>
                  <xsd:element name="CAN-TP-CONFIG" type="AR:CAN-TP-CONFIG"/>
                  <xsd:element name="CLIENT-ID-DEFINITION-SET" type="AR:CLIENT-ID-DEFINITION-SET"/>
                  <xsd:element name="CLIENT-SERVER-INTERFACE" type="AR:CLIENT-SERVER-INTERFACE"/>
                  <xsd:element name="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING" type="AR:CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING"/>
                  <xsd:element name="COLLECTION" type="AR:COLLECTION"/>
                  <xsd:element name="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE" type="AR:COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
                  <xsd:element name="COMPOSITION-SW-COMPONENT-TYPE" type="AR:COMPOSITION-SW-COMPONENT-TYPE"/>
                  <xsd:element name="COMPU-METHOD" type="AR:COMPU-METHOD"/>
                  <xsd:element name="CONSISTENCY-NEEDS-BLUEPRINT-SET" type="AR:CONSISTENCY-NEEDS-BLUEPRINT-SET"/>
                  <xsd:element name="CONSTANT-SPECIFICATION" type="AR:CONSTANT-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-SPECIFICATION-MAPPING-SET" type="AR:CONSTANT-SPECIFICATION-MAPPING-SET"/>
                  <xsd:element name="CONTAINER-I-PDU" type="AR:CONTAINER-I-PDU"/>
                  <xsd:element name="COUPLING-ELEMENT" type="AR:COUPLING-ELEMENT"/>
                  <xsd:element name="DATA-CONSTR" type="AR:DATA-CONSTR"/>
                  <xsd:element name="DATA-EXCHANGE-POINT" type="AR:DATA-EXCHANGE-POINT"/>
                  <xsd:element name="DATA-TRANSFORMATION-SET" type="AR:DATA-TRANSFORMATION-SET"/>
                  <xsd:element name="DATA-TYPE-MAPPING-SET" type="AR:DATA-TYPE-MAPPING-SET"/>
                  <xsd:element name="DCM-I-PDU" type="AR:DCM-I-PDU"/>
                  <xsd:element name="DIAGNOSTIC-ACCESS-PERMISSION" type="AR:DIAGNOSTIC-ACCESS-PERMISSION"/>
                  <xsd:element name="DIAGNOSTIC-AGING" type="AR:DIAGNOSTIC-AGING"/>
                  <xsd:element name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION" type="AR:DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
                  <xsd:element name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS" type="AR:DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO" type="AR:DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
                  <xsd:element name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS" type="AR:DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-COM-CONTROL" type="AR:DIAGNOSTIC-COM-CONTROL"/>
                  <xsd:element name="DIAGNOSTIC-COM-CONTROL-CLASS" type="AR:DIAGNOSTIC-COM-CONTROL-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-CONNECTION" type="AR:DIAGNOSTIC-CONNECTION"/>
                  <xsd:element name="DIAGNOSTIC-CONTRIBUTION-SET" type="AR:DIAGNOSTIC-CONTRIBUTION-SET"/>
                  <xsd:element name="DIAGNOSTIC-CONTROL-DTC-SETTING" type="AR:DIAGNOSTIC-CONTROL-DTC-SETTING"/>
                  <xsd:element name="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS" type="AR:DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-CUSTOM-SERVICE-CLASS" type="AR:DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-DATA-IDENTIFIER" type="AR:DIAGNOSTIC-DATA-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-DATA-IDENTIFIER-SET" type="AR:DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
                  <xsd:element name="DIAGNOSTIC-DATA-TRANSFER" type="AR:DIAGNOSTIC-DATA-TRANSFER"/>
                  <xsd:element name="DIAGNOSTIC-DATA-TRANSFER-CLASS" type="AR:DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING" type="AR:DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER" type="AR:DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER" type="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS" type="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-ECU-INSTANCE-PROPS" type="AR:DIAGNOSTIC-ECU-INSTANCE-PROPS"/>
                  <xsd:element name="DIAGNOSTIC-ECU-RESET" type="AR:DIAGNOSTIC-ECU-RESET"/>
                  <xsd:element name="DIAGNOSTIC-ECU-RESET-CLASS" type="AR:DIAGNOSTIC-ECU-RESET-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION" type="AR:DIAGNOSTIC-ENABLE-CONDITION"/>
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION-GROUP" type="AR:DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING" type="AR:DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-ENVIRONMENTAL-CONDITION" type="AR:DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
                  <xsd:element name="DIAGNOSTIC-EVENT" type="AR:DIAGNOSTIC-EVENT"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-PORT-MAPPING" type="AR:DIAGNOSTIC-EVENT-PORT-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING" type="AR:DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING" type="AR:DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING" type="AR:DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING" type="AR:DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING" type="AR:DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-EXTENDED-DATA-RECORD" type="AR:DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
                  <xsd:element name="DIAGNOSTIC-FIM-ALIAS-EVENT" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT"/>
                  <xsd:element name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-FIM-EVENT-GROUP" type="AR:DIAGNOSTIC-FIM-EVENT-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-FIM-FUNCTION-MAPPING" type="AR:DIAGNOSTIC-FIM-FUNCTION-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-FREEZE-FRAME" type="AR:DIAGNOSTIC-FREEZE-FRAME"/>
                  <xsd:element name="DIAGNOSTIC-FUNCTION-IDENTIFIER" type="AR:DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT" type="AR:DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT"/>
                  <xsd:element name="DIAGNOSTIC-IO-CONTROL" type="AR:DIAGNOSTIC-IO-CONTROL"/>
                  <xsd:element name="DIAGNOSTIC-INDICATOR" type="AR:DIAGNOSTIC-INDICATOR"/>
                  <xsd:element name="DIAGNOSTIC-INFO-TYPE" type="AR:DIAGNOSTIC-INFO-TYPE"/>
                  <xsd:element name="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING" type="AR:DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-IO-CONTROL-CLASS" type="AR:DIAGNOSTIC-IO-CONTROL-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-IUMPR" type="AR:DIAGNOSTIC-IUMPR"/>
                  <xsd:element name="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP" type="AR:DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-IUMPR-GROUP" type="AR:DIAGNOSTIC-IUMPR-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME" type="AR:DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME"/>
                  <xsd:element name="DIAGNOSTIC-J-1939-FREEZE-FRAME" type="AR:DIAGNOSTIC-J-1939-FREEZE-FRAME"/>
                  <xsd:element name="DIAGNOSTIC-J-1939-NODE" type="AR:DIAGNOSTIC-J-1939-NODE"/>
                  <xsd:element name="DIAGNOSTIC-J-1939-SPN" type="AR:DIAGNOSTIC-J-1939-SPN"/>
                  <xsd:element name="DIAGNOSTIC-J-1939-SPN-MAPPING" type="AR:DIAGNOSTIC-J-1939-SPN-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-J-1939-SW-MAPPING" type="AR:DIAGNOSTIC-J-1939-SW-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-MEASUREMENT-IDENTIFIER" type="AR:DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR" type="AR:DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
                  <xsd:element name="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY" type="AR:DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
                  <xsd:element name="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED" type="AR:DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
                  <xsd:element name="DIAGNOSTIC-MEMORY-IDENTIFIER" type="AR:DIAGNOSTIC-MEMORY-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-OPERATION-CYCLE" type="AR:DIAGNOSTIC-OPERATION-CYCLE"/>
                  <xsd:element name="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING" type="AR:DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-PARAMETER-IDENTIFIER" type="AR:DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME" type="AR:DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
                  <xsd:element name="DIAGNOSTIC-PROTOCOL" type="AR:DIAGNOSTIC-PROTOCOL"/>
                  <xsd:element name="DIAGNOSTIC-READ-DTC-INFORMATION" type="AR:DIAGNOSTIC-READ-DTC-INFORMATION"/>
                  <xsd:element name="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS" type="AR:DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER" type="AR:DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS" type="AR:DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID" type="AR:DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
                  <xsd:element name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS" type="AR:DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS" type="AR:DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
                  <xsd:element name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS" type="AR:DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE" type="AR:DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS" type="AR:DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA" type="AR:DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS" type="AR:DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-DOWNLOAD" type="AR:DIAGNOSTIC-REQUEST-DOWNLOAD"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS" type="AR:DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC" type="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS" type="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS" type="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS" type="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-FILE-TRANSFER" type="AR:DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS" type="AR:DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS" type="AR:DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS" type="AR:DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA" type="AR:DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS" type="AR:DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-UPLOAD" type="AR:DIAGNOSTIC-REQUEST-UPLOAD"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-UPLOAD-CLASS" type="AR:DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-VEHICLE-INFO" type="AR:DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
                  <xsd:element name="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS" type="AR:DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-RESPONSE-ON-EVENT" type="AR:DIAGNOSTIC-RESPONSE-ON-EVENT"/>
                  <xsd:element name="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS" type="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-ROUTINE" type="AR:DIAGNOSTIC-ROUTINE"/>
                  <xsd:element name="DIAGNOSTIC-ROUTINE-CONTROL" type="AR:DIAGNOSTIC-ROUTINE-CONTROL"/>
                  <xsd:element name="DIAGNOSTIC-ROUTINE-CONTROL-CLASS" type="AR:DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-SECURITY-ACCESS" type="AR:DIAGNOSTIC-SECURITY-ACCESS"/>
                  <xsd:element name="DIAGNOSTIC-SECURITY-ACCESS-CLASS" type="AR:DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-SECURITY-LEVEL" type="AR:DIAGNOSTIC-SECURITY-LEVEL"/>
                  <xsd:element name="DIAGNOSTIC-SERVICE-DATA-MAPPING" type="AR:DIAGNOSTIC-SERVICE-DATA-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-SERVICE-SW-MAPPING" type="AR:DIAGNOSTIC-SERVICE-SW-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-SERVICE-TABLE" type="AR:DIAGNOSTIC-SERVICE-TABLE"/>
                  <xsd:element name="DIAGNOSTIC-SESSION" type="AR:DIAGNOSTIC-SESSION"/>
                  <xsd:element name="DIAGNOSTIC-SESSION-CONTROL" type="AR:DIAGNOSTIC-SESSION-CONTROL"/>
                  <xsd:element name="DIAGNOSTIC-SESSION-CONTROL-CLASS" type="AR:DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION" type="AR:DIAGNOSTIC-STORAGE-CONDITION"/>
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION-GROUP" type="AR:DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING" type="AR:DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-TEST-RESULT" type="AR:DIAGNOSTIC-TEST-RESULT"/>
                  <xsd:element name="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER" type="AR:DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-TRANSFER-EXIT" type="AR:DIAGNOSTIC-TRANSFER-EXIT"/>
                  <xsd:element name="DIAGNOSTIC-TRANSFER-EXIT-CLASS" type="AR:DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-GROUP" type="AR:DIAGNOSTIC-TROUBLE-CODE-GROUP"/>
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-J-1939" type="AR:DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-OBD" type="AR:DIAGNOSTIC-TROUBLE-CODE-OBD"/>
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-PROPS" type="AR:DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-UDS" type="AR:DIAGNOSTIC-TROUBLE-CODE-UDS"/>
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING" type="AR:DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING"/>
                  <xsd:element name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER" type="AR:DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
                  <xsd:element name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS" type="AR:DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
                  <xsd:element name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS" type="AR:DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
                  <xsd:element name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS" type="AR:DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
                  <xsd:element name="DO-IP-TP-CONFIG" type="AR:DO-IP-TP-CONFIG"/>
                  <xsd:element name="DOCUMENTATION" type="AR:DOCUMENTATION"/>
                  <xsd:element name="ECU-ABSTRACTION-SW-COMPONENT-TYPE" type="AR:ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
                  <xsd:element name="ECU-INSTANCE" type="AR:ECU-INSTANCE"/>
                  <xsd:element name="ECU-TIMING" type="AR:ECU-TIMING"/>
                  <xsd:element name="ECUC-DEFINITION-COLLECTION" type="AR:ECUC-DEFINITION-COLLECTION"/>
                  <xsd:element name="ECUC-DESTINATION-URI-DEF-SET" type="AR:ECUC-DESTINATION-URI-DEF-SET"/>
                  <xsd:element name="ECUC-MODULE-CONFIGURATION-VALUES" type="AR:ECUC-MODULE-CONFIGURATION-VALUES"/>
                  <xsd:element name="ECUC-MODULE-DEF" type="AR:ECUC-MODULE-DEF"/>
                  <xsd:element name="ECUC-VALUE-COLLECTION" type="AR:ECUC-VALUE-COLLECTION"/>
                  <xsd:element name="END-TO-END-PROTECTION-SET" type="AR:END-TO-END-PROTECTION-SET"/>
                  <xsd:element name="ENUMERATION-MAPPING-TABLE" type="AR:ENUMERATION-MAPPING-TABLE"/>
                  <xsd:element name="ETHERNET-CLUSTER" type="AR:ETHERNET-CLUSTER"/>
                  <xsd:element name="ETHERNET-FRAME" type="AR:ETHERNET-FRAME"/>
                  <xsd:element name="EVALUATED-VARIANT-SET" type="AR:EVALUATED-VARIANT-SET"/>
                  <xsd:element name="FM-FEATURE" type="AR:FM-FEATURE"/>
                  <xsd:element name="FM-FEATURE-MAP" type="AR:FM-FEATURE-MAP"/>
                  <xsd:element name="FM-FEATURE-MODEL" type="AR:FM-FEATURE-MODEL"/>
                  <xsd:element name="FM-FEATURE-SELECTION-SET" type="AR:FM-FEATURE-SELECTION-SET"/>
                  <xsd:element name="FLAT-MAP" type="AR:FLAT-MAP"/>
                  <xsd:element name="FLEXRAY-AR-TP-CONFIG" type="AR:FLEXRAY-AR-TP-CONFIG"/>
                  <xsd:element name="FLEXRAY-CLUSTER" type="AR:FLEXRAY-CLUSTER"/>
                  <xsd:element name="FLEXRAY-FRAME" type="AR:FLEXRAY-FRAME"/>
                  <xsd:element name="FLEXRAY-TP-CONFIG" type="AR:FLEXRAY-TP-CONFIG"/>
                  <xsd:element name="GATEWAY" type="AR:GATEWAY"/>
                  <xsd:element name="GENERAL-PURPOSE-I-PDU" type="AR:GENERAL-PURPOSE-I-PDU"/>
                  <xsd:element name="GENERAL-PURPOSE-PDU" type="AR:GENERAL-PURPOSE-PDU"/>
                  <xsd:element name="GENERIC-ETHERNET-FRAME" type="AR:GENERIC-ETHERNET-FRAME"/>
                  <xsd:element name="GLOBAL-TIME-DOMAIN" type="AR:GLOBAL-TIME-DOMAIN"/>
                  <xsd:element name="HW-CATEGORY" type="AR:HW-CATEGORY"/>
                  <xsd:element name="HW-ELEMENT" type="AR:HW-ELEMENT"/>
                  <xsd:element name="HW-TYPE" type="AR:HW-TYPE"/>
                  <xsd:element name="I-PV-6-EXT-HEADER-FILTER-SET" type="AR:I-PV-6-EXT-HEADER-FILTER-SET"/>
                  <xsd:element name="I-SIGNAL" type="AR:I-SIGNAL"/>
                  <xsd:element name="I-SIGNAL-GROUP" type="AR:I-SIGNAL-GROUP"/>
                  <xsd:element name="I-SIGNAL-I-PDU" type="AR:I-SIGNAL-I-PDU"/>
                  <xsd:element name="I-SIGNAL-I-PDU-GROUP" type="AR:I-SIGNAL-I-PDU-GROUP"/>
                  <xsd:element name="IEEE-1722-TP-ETHERNET-FRAME" type="AR:IEEE-1722-TP-ETHERNET-FRAME"/>
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE" type="AR:IMPLEMENTATION-DATA-TYPE"/>
                  <xsd:element name="INTERPOLATION-ROUTINE-MAPPING-SET" type="AR:INTERPOLATION-ROUTINE-MAPPING-SET"/>
                  <xsd:element name="J-1939-CLUSTER" type="AR:J-1939-CLUSTER"/>
                  <xsd:element name="J-1939-CONTROLLER-APPLICATION" type="AR:J-1939-CONTROLLER-APPLICATION"/>
                  <xsd:element name="J-1939-DCM-I-PDU" type="AR:J-1939-DCM-I-PDU"/>
                  <xsd:element name="J-1939-TP-CONFIG" type="AR:J-1939-TP-CONFIG"/>
                  <xsd:element name="KEYWORD-SET" type="AR:KEYWORD-SET"/>
                  <xsd:element name="LIFE-CYCLE-INFO-SET" type="AR:LIFE-CYCLE-INFO-SET"/>
                  <xsd:element name="LIFE-CYCLE-STATE-DEFINITION-GROUP" type="AR:LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
                  <xsd:element name="LIN-CLUSTER" type="AR:LIN-CLUSTER"/>
                  <xsd:element name="LIN-EVENT-TRIGGERED-FRAME" type="AR:LIN-EVENT-TRIGGERED-FRAME"/>
                  <xsd:element name="LIN-SPORADIC-FRAME" type="AR:LIN-SPORADIC-FRAME"/>
                  <xsd:element name="LIN-TP-CONFIG" type="AR:LIN-TP-CONFIG"/>
                  <xsd:element name="LIN-UNCONDITIONAL-FRAME" type="AR:LIN-UNCONDITIONAL-FRAME"/>
                  <xsd:element name="MC-FUNCTION" type="AR:MC-FUNCTION"/>
                  <xsd:element name="MODE-DECLARATION-GROUP" type="AR:MODE-DECLARATION-GROUP"/>
                  <xsd:element name="MODE-DECLARATION-MAPPING-SET" type="AR:MODE-DECLARATION-MAPPING-SET"/>
                  <xsd:element name="MODE-SWITCH-INTERFACE" type="AR:MODE-SWITCH-INTERFACE"/>
                  <xsd:element name="MULTIPLEXED-I-PDU" type="AR:MULTIPLEXED-I-PDU"/>
                  <xsd:element name="N-PDU" type="AR:N-PDU"/>
                  <xsd:element name="NM-CONFIG" type="AR:NM-CONFIG"/>
                  <xsd:element name="NM-PDU" type="AR:NM-PDU"/>
                  <xsd:element name="NV-BLOCK-SW-COMPONENT-TYPE" type="AR:NV-BLOCK-SW-COMPONENT-TYPE"/>
                  <xsd:element name="NV-DATA-INTERFACE" type="AR:NV-DATA-INTERFACE"/>
                  <xsd:element name="PARAMETER-INTERFACE" type="AR:PARAMETER-INTERFACE"/>
                  <xsd:element name="PARAMETER-SW-COMPONENT-TYPE" type="AR:PARAMETER-SW-COMPONENT-TYPE"/>
                  <xsd:element name="PDUR-I-PDU-GROUP" type="AR:PDUR-I-PDU-GROUP"/>
                  <xsd:element name="PHYSICAL-DIMENSION" type="AR:PHYSICAL-DIMENSION"/>
                  <xsd:element name="PHYSICAL-DIMENSION-MAPPING-SET" type="AR:PHYSICAL-DIMENSION-MAPPING-SET"/>
                  <xsd:element name="PORT-INTERFACE-MAPPING-SET" type="AR:PORT-INTERFACE-MAPPING-SET"/>
                  <xsd:element name="PORT-PROTOTYPE-BLUEPRINT" type="AR:PORT-PROTOTYPE-BLUEPRINT"/>
                  <xsd:element name="POST-BUILD-VARIANT-CRITERION" type="AR:POST-BUILD-VARIANT-CRITERION"/>
                  <xsd:element name="POST-BUILD-VARIANT-CRITERION-VALUE-SET" type="AR:POST-BUILD-VARIANT-CRITERION-VALUE-SET"/>
                  <xsd:element name="PREDEFINED-VARIANT" type="AR:PREDEFINED-VARIANT"/>
                  <xsd:element name="RAPID-PROTOTYPING-SCENARIO" type="AR:RAPID-PROTOTYPING-SCENARIO"/>
                  <xsd:element name="SDG-DEF" type="AR:SDG-DEF"/>
                  <xsd:element name="SECURE-COMMUNICATION-PROPS-SET" type="AR:SECURE-COMMUNICATION-PROPS-SET"/>
                  <xsd:element name="SECURED-I-PDU" type="AR:SECURED-I-PDU"/>
                  <xsd:element name="SENDER-RECEIVER-INTERFACE" type="AR:SENDER-RECEIVER-INTERFACE"/>
                  <xsd:element name="SENSOR-ACTUATOR-SW-COMPONENT-TYPE" type="AR:SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
                  <xsd:element name="SERIALIZATION-TECHNOLOGY" type="AR:SERIALIZATION-TECHNOLOGY"/>
                  <xsd:element name="SERVICE-PROXY-SW-COMPONENT-TYPE" type="AR:SERVICE-PROXY-SW-COMPONENT-TYPE"/>
                  <xsd:element name="SERVICE-SW-COMPONENT-TYPE" type="AR:SERVICE-SW-COMPONENT-TYPE"/>
                  <xsd:element name="SO-AD-ROUTING-GROUP" type="AR:SO-AD-ROUTING-GROUP"/>
                  <xsd:element name="SOMEIP-TP-CONFIG" type="AR:SOMEIP-TP-CONFIG"/>
                  <xsd:element name="SW-ADDR-METHOD" type="AR:SW-ADDR-METHOD"/>
                  <xsd:element name="SW-AXIS-TYPE" type="AR:SW-AXIS-TYPE"/>
                  <xsd:element name="SW-BASE-TYPE" type="AR:SW-BASE-TYPE"/>
                  <xsd:element name="SW-RECORD-LAYOUT" type="AR:SW-RECORD-LAYOUT"/>
                  <xsd:element name="SW-SYSTEMCONST" type="AR:SW-SYSTEMCONST"/>
                  <xsd:element name="SW-SYSTEMCONSTANT-VALUE-SET" type="AR:SW-SYSTEMCONSTANT-VALUE-SET"/>
                  <xsd:element name="SWC-BSW-MAPPING" type="AR:SWC-BSW-MAPPING"/>
                  <xsd:element name="SWC-IMPLEMENTATION" type="AR:SWC-IMPLEMENTATION"/>
                  <xsd:element name="SWC-TIMING" type="AR:SWC-TIMING"/>
                  <xsd:element name="SYSTEM" type="AR:SYSTEM"/>
                  <xsd:element name="SYSTEM-SIGNAL" type="AR:SYSTEM-SIGNAL"/>
                  <xsd:element name="SYSTEM-SIGNAL-GROUP" type="AR:SYSTEM-SIGNAL-GROUP"/>
                  <xsd:element name="SYSTEM-TIMING" type="AR:SYSTEM-TIMING"/>
                  <xsd:element name="TCP-OPTION-FILTER-SET" type="AR:TCP-OPTION-FILTER-SET"/>
                  <xsd:element name="TRANSFORMATION-PROPS-SET" type="AR:TRANSFORMATION-PROPS-SET"/>
                  <xsd:element name="TRIGGER-INTERFACE" type="AR:TRIGGER-INTERFACE"/>
                  <xsd:element name="TTCAN-CLUSTER" type="AR:TTCAN-CLUSTER"/>
                  <xsd:element name="UNIT" type="AR:UNIT"/>
                  <xsd:element name="UNIT-GROUP" type="AR:UNIT-GROUP"/>
                  <xsd:element name="USER-DEFINED-CLUSTER" type="AR:USER-DEFINED-CLUSTER"/>
                  <xsd:element name="USER-DEFINED-ETHERNET-FRAME" type="AR:USER-DEFINED-ETHERNET-FRAME"/>
                  <xsd:element name="USER-DEFINED-I-PDU" type="AR:USER-DEFINED-I-PDU"/>
                  <xsd:element name="USER-DEFINED-PDU" type="AR:USER-DEFINED-PDU"/>
                  <xsd:element name="VFB-TIMING" type="AR:VFB-TIMING"/>
                  <xsd:element name="VIEW-MAP-SET" type="AR:VIEW-MAP-SET"/>
                  <xsd:element name="XCP-PDU" type="AR:XCP-PDU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-PACKAGES">
            <xsd:annotation>
               <xsd:documentation>This represents a sub package within an ARPackage, thus allowing for an unlimited package hierarchy.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ARPackage.arPackage";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime";xml.sequenceOffset="30"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AR-PACKAGE" type="AR:AR-PACKAGE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ARPackage.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ARPackage::ARPackage -->
   <xsd:complexType abstract="false" mixed="false" name="AR-PACKAGE">
      <xsd:annotation>
         <xsd:documentation>AUTOSAR package, allowing to create top level packages to structure the contained ARElements.

ARPackages are open sets. This means that in a file based description system multiple files can be used to partially describe the contents of a package.

This is an extended version of MSR's SW-SYSTEM.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ARPackage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:AR-PACKAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="AR-PACKAGE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR-PACKAGE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AutosarTopLevelStructure::AUTOSAR -->
   <xsd:group name="AUTOSAR">
      <xsd:annotation>
         <xsd:documentation>Root element of an AUTOSAR description, also the root element in corresponding XML documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AUTOSAR";xml.globalElement="true"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADMIN-DATA" type="AR:ADMIN-DATA">
            <xsd:annotation>
               <xsd:documentation>This represents the administrative data of an Autosar file.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AUTOSAR.adminData";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents an introduction on the Autosar file. It is intended for example to rpresent disclaimers and legal notes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AUTOSAR.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-PACKAGES">
            <xsd:annotation>
               <xsd:documentation>This is the top level package in an AUTOSAR model.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="AUTOSAR.arPackage";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime";xml.sequenceOffset="30"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AR-PACKAGE" type="AR:AR-PACKAGE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AutosarTopLevelStructure::AUTOSAR -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR">
      <xsd:annotation>
         <xsd:documentation>Root element of an AUTOSAR description, also the root element in corresponding XML documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AUTOSAR";xml.globalElement="true"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:AUTOSAR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- global element for class AutosarTopLevelStructure::AUTOSAR -->
   <xsd:element name="AUTOSAR" type="AR:AUTOSAR">
      <xsd:annotation>
         <xsd:documentation>Root element of an AUTOSAR description, also the root element in corresponding XML documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AUTOSAR";xml.globalElement="true"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
   </xsd:element>
   <!-- element group for class Timing::AbsoluteTolerance -->
   <xsd:group name="ABSOLUTE-TOLERANCE">
      <xsd:annotation>
         <xsd:documentation>Maximum allowable deviation</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbsoluteTolerance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ABSOLUTE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Maximum allowable deviation in duration (in seconds)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbsoluteTolerance.absolute";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::AbsoluteTolerance -->
   <xsd:complexType abstract="false" mixed="false" name="ABSOLUTE-TOLERANCE">
      <xsd:annotation>
         <xsd:documentation>Maximum allowable deviation</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbsoluteTolerance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TIME-RANGE-TYPE-TOLERANCE"/>
         <xsd:group ref="AR:ABSOLUTE-TOLERANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AccessCount::AbstractAccessPoint -->
   <xsd:group name="ABSTRACT-ACCESS-POINT">
      <xsd:annotation>
         <xsd:documentation>Abstract class indicating an access point from an ExecutableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractAccessPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="ABSTRACT-ACCESS-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-ACCESS-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGERING-POINT-IDENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="MODE-ACCESS-POINT-IDENT"/>
         <xsd:enumeration value="MODE-SWITCH-POINT"/>
         <xsd:enumeration value="PARAMETER-ACCESS"/>
         <xsd:enumeration value="SERVER-CALL-POINT"/>
         <xsd:enumeration value="SYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="VARIABLE-ACCESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CanTopology::AbstractCanCluster -->
   <xsd:group name="ABSTRACT-CAN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Abstract class that is used to collect the common TtCAN, J1939 and CAN Cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CanTopology::AbstractCanClusterContent -->
   <xsd:group name="ABSTRACT-CAN-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUS-OFF-RECOVERY" type="AR:CAN-CLUSTER-BUS-OFF-RECOVERY">
            <xsd:annotation>
               <xsd:documentation>CAN bus off monitoring / recovery at system level.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCluster.busOffRecovery";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-FD-BAUDRATE" type="AR:POSITIVE-UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the data segment baud rate of the controller in bits/s.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCluster.canFdBaudrate";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CanTopology::AbstractCanCommunicationConnector -->
   <xsd:group name="ABSTRACT-CAN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>Abstract class that is used to collect the common TtCAN and CAN CommunicationConnector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CanTopology::AbstractCanCommunicationController -->
   <xsd:group name="ABSTRACT-CAN-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>Abstract class that is used to collect the common TtCAN and CAN Controller attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CanTopology::AbstractCanCommunicationControllerAttributes -->
   <xsd:group name="ABSTRACT-CAN-COMMUNICATION-CONTROLLER-ATTRIBUTES">
      <xsd:annotation>
         <xsd:documentation>For the configuration of the CanController parameters two different approaches can be used:
1. Providing exact values which are taken by the ECU developer (CanControllerConfiguration).
2. Providing ranges of values which are taken as requirements and have to be respected by the ECU developer (CanControllerConfigurationRequirements).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationControllerAttributes"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-CONTROLLER-FD-ATTRIBUTES" type="AR:CAN-CONTROLLER-FD-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Bit timing related configuration of a CAN controller for payload and CRC of a CanFD frame. If this element exists the controller supports CanFD frames and the ECU developer shall take these values for the configuration of the CanFD controller.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationControllerAttributes.canControllerFdAttributes";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-CONTROLLER-FD-REQUIREMENTS" type="AR:CAN-CONTROLLER-FD-CONFIGURATION-REQUIREMENTS">
            <xsd:annotation>
               <xsd:documentation>Additional CanFD ranges of the bit timing related configuration of a CanFD controller. If this element exists the controller supports CanFD frames and the ECU developer shall take these ranges as requirements for the configuration of the CanFD controller.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationControllerAttributes.canControllerFdRequirements";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CanTopology::AbstractCanCommunicationControllerContent -->
   <xsd:group name="ABSTRACT-CAN-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-CONTROLLER-ATTRIBUTES">
            <xsd:annotation>
               <xsd:documentation>CAN Bit Timing configuration</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanCommunicationController.canControllerAttributes";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CAN-CONTROLLER-CONFIGURATION" type="AR:CAN-CONTROLLER-CONFIGURATION"/>
                  <xsd:element name="CAN-CONTROLLER-CONFIGURATION-REQUIREMENTS" type="AR:CAN-CONTROLLER-CONFIGURATION-REQUIREMENTS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CanTopology::AbstractCanPhysicalChannel -->
   <xsd:group name="ABSTRACT-CAN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>Abstract class that is used to collect the common TtCAN and CAN PhysicalChannel attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCanPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DataFormatTailoring::AbstractClassTailoring -->
   <xsd:group name="ABSTRACT-CLASS-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of abststract classes in the AUTOSAR meta-model</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractClassTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::AbstractClassTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="ABSTRACT-CLASS-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of abststract classes in the AUTOSAR meta-model</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractClassTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:CLASS-TAILORING"/>
         <xsd:group ref="AR:ABSTRACT-CLASS-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::AbstractCondition -->
   <xsd:group name="ABSTRACT-CONDITION">
      <xsd:annotation>
         <xsd:documentation>A premise upon which the fulfillment of an agreement depends</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class AttributeValueVariationPoints::AbstractEnumerationValueVariationPoint -->
   <xsd:group name="ABSTRACT-ENUMERATION-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This is an abstract EnumerationValueVariationPoint. It is introduced to support the case that additional attributes are required for particular purposes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEnumerationValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class AttributeValueVariationPoints::AbstractEnumerationValueVariationPoint -->
   <xsd:attributeGroup name="ABSTRACT-ENUMERATION-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This is an abstract EnumerationValueVariationPoint. It is introduced to support the case that additional attributes are required for particular purposes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEnumerationValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="BASE" type="AR:IDENTIFIER--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute reflects the base to be used in context of EnumerationMappingTable for this reference.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEnumerationValueVariationPoint.base";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ENUM-TABLE" type="AR:REF--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This represents the assigned enumeration table.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEnumerationValueVariationPoint.enumTable";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class EthernetCommunication::AbstractEthernetFrame -->
   <xsd:group name="ABSTRACT-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific attributes to the Frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class InternalBehavior::AbstractEvent -->
   <xsd:group name="ABSTRACT-EVENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the abstract ability to model an event that can be taken to implement application software or basic software in AUTOSAR.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTIVATION-REASON-REPRESENTATION-REF">
            <xsd:annotation>
               <xsd:documentation>If the activationReasonRepresentation is referenced from the enclosing AbstractEvent this shall be taken as an indication that the latter contributes to the activating vector of this ExecutableEntity that owns the referenced ExecutableEntityActivationReason.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractEvent.activationReasonRepresentation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXECUTABLE-ENTITY-ACTIVATION-REASON--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ABSTRACT-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-EVENT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="BACKGROUND-EVENT"/>
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="BSW-BACKGROUND-EVENT"/>
         <xsd:enumeration value="BSW-DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="BSW-EVENT"/>
         <xsd:enumeration value="BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="BSW-INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="BSW-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="BSW-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="BSW-MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="BSW-OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="BSW-SCHEDULE-EVENT"/>
         <xsd:enumeration value="BSW-TIMING-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVE-ERROR-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="DATA-SEND-COMPLETED-EVENT"/>
         <xsd:enumeration value="DATA-WRITE-COMPLETED-EVENT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="INIT-EVENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="RTE-EVENT"/>
         <xsd:enumeration value="SWC-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="TIMING-EVENT"/>
         <xsd:enumeration value="TRANSFORMER-HARD-ERROR-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class GlobalTime::AbstractGlobalTimeDomainProps -->
   <xsd:group name="ABSTRACT-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>This abstract class enables a GlobalTimeDomain to specify additional properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ModelRestrictionTypes::AbstractMultiplicityRestriction -->
   <xsd:group name="ABSTRACT-MULTIPLICITY-RESTRICTION">
      <xsd:annotation>
         <xsd:documentation>Restriction that specifies the valid number of occurrences of an element in the current context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractMultiplicityRestriction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-MULTIPLICITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the minimal number of times an object shall occur. If this primitive attribute is not set, then the object is optional.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractMultiplicityRestriction.lowerMultiplicity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-MULTIPLICITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum number of times an object may occur.  If this primitive attribute is not set, then there is no limit with respect to the maximum occurrence.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractMultiplicityRestriction.upperMultiplicity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-MULTIPLICITY-INFINITE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This explicitly specifies, that the upper multiplicity is NOT restricted. Note: The use of 'upperMultiplicityInfinite' and 'upperMultiplicity' is mutual exclusive.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractMultiplicityRestriction.upperMultiplicityInfinite";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AttributeValueVariationPoints::AbstractNumericalVariationPoint -->
   <xsd:group name="ABSTRACT-NUMERICAL-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This is an abstract NumericalValueVariationPoint. It is introduced to support the case that additional attributes are required for particular purposes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractNumericalVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Components::AbstractProvidedPortPrototype -->
   <xsd:group name="ABSTRACT-PROVIDED-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This abstract class provides the ability to become a provided PortPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractProvidedPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-COM-SPECS">
            <xsd:annotation>
               <xsd:documentation>Provided communication attributes per interface element (data element or operation).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractProvidedPortPrototype.providedComSpec";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-SWITCH-SENDER-COM-SPEC" type="AR:MODE-SWITCH-SENDER-COM-SPEC"/>
                  <xsd:element name="NONQUEUED-SENDER-COM-SPEC" type="AR:NONQUEUED-SENDER-COM-SPEC"/>
                  <xsd:element name="NV-PROVIDE-COM-SPEC" type="AR:NV-PROVIDE-COM-SPEC"/>
                  <xsd:element name="PARAMETER-PROVIDE-COM-SPEC" type="AR:PARAMETER-PROVIDE-COM-SPEC"/>
                  <xsd:element name="QUEUED-SENDER-COM-SPEC" type="AR:QUEUED-SENDER-COM-SPEC"/>
                  <xsd:element name="SERVER-COM-SPEC" type="AR:SERVER-COM-SPEC"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Components::AbstractRequiredPortPrototype -->
   <xsd:group name="ABSTRACT-REQUIRED-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This abstract class provides the ability to become a required PortPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractRequiredPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-COM-SPECS">
            <xsd:annotation>
               <xsd:documentation>Required communication attributes, one for each interface element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractRequiredPortPrototype.requiredComSpec";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-COM-SPEC" type="AR:CLIENT-COM-SPEC"/>
                  <xsd:element name="MODE-SWITCH-RECEIVER-COM-SPEC" type="AR:MODE-SWITCH-RECEIVER-COM-SPEC"/>
                  <xsd:element name="NONQUEUED-RECEIVER-COM-SPEC" type="AR:NONQUEUED-RECEIVER-COM-SPEC"/>
                  <xsd:element name="NV-REQUIRE-COM-SPEC" type="AR:NV-REQUIRE-COM-SPEC"/>
                  <xsd:element name="PARAMETER-REQUIRE-COM-SPEC" type="AR:PARAMETER-REQUIRE-COM-SPEC"/>
                  <xsd:element name="QUEUED-RECEIVER-COM-SPEC" type="AR:QUEUED-RECEIVER-COM-SPEC"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Constants::AbstractRuleBasedValueSpecification -->
   <xsd:group name="ABSTRACT-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This represents an abstract base class for all rule-based value specifications.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class EthernetTopology::AbstractServiceInstance -->
   <xsd:group name="ABSTRACT-SERVICE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Provided and Consumed Ethernet Service Instances that are available at the ApplicationEndpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractServiceInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTING-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>The ServiceDiscovery module is able to activate and deactivate the PDU routing from and to TCP/IP-sockets.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractServiceInstance.routingGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROUTING-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SO-AD-ROUTING-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ABSTRACT-SERVICE-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-SERVICE-INSTANCE"/>
         <xsd:enumeration value="CONSUMED-SERVICE-INSTANCE"/>
         <xsd:enumeration value="PROVIDED-SERVICE-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ModelRestrictionTypes::AbstractValueRestriction -->
   <xsd:group name="ABSTRACT-VALUE-RESTRICTION">
      <xsd:annotation>
         <xsd:documentation>Restricts primitive values. A value is valid if all rules that are defined by this restriction evaluate to true.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractValueRestriction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:LIMIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the upper bounds for numeric values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractValueRestriction.max";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum number of characters of textual values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractValueRestriction.maxLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:LIMIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the lower bounds for numeric values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractValueRestriction.min";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the minimal number of characters of textual values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractValueRestriction.minLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN" type="AR:REGULAR-EXPRESSION">
            <xsd:annotation>
               <xsd:documentation>Defines the exact sequence of characters that are acceptable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractValueRestriction.pattern";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ModelRestrictionTypes::AbstractVariationRestriction -->
   <xsd:group name="ABSTRACT-VARIATION-RESTRICTION">
      <xsd:annotation>
         <xsd:documentation>Defines constraints on the usage of variation and on the valid binding times.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AbstractVariationRestriction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if the AUTOSAR model may define a VariationPoint at this location.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AbstractVariationRestriction.variation";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALID-BINDING-TIMES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VALID-BINDING-TIME" type="AR:FULL-BINDING-TIME-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>List of valid binding times.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="AbstractVariationRestriction.validBindingTime";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AccessCount::AccessCount -->
   <xsd:group name="ACCESS-COUNT">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides one count value for a AbstractAccessPoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AccessCount"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-POINT-REF">
            <xsd:annotation>
               <xsd:documentation>AbstractAccessPoint for which the count value is applicable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AccessCount.accessPoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-ACCESS-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the number of determined accesses</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AccessCount.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AccessCount.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AccessCount::AccessCount -->
   <xsd:complexType abstract="false" mixed="false" name="ACCESS-COUNT">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides one count value for a AbstractAccessPoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AccessCount"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ACCESS-COUNT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AccessCount::AccessCountSet -->
   <xsd:group name="ACCESS-COUNT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides a set of count values evaluated according to the rules of a specific countProfile.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AccessCountSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-COUNTS">
            <xsd:annotation>
               <xsd:documentation>Count value for a AbstractAccessPoint.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AccessCountSet.accessCount";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACCESS-COUNT" type="AR:ACCESS-COUNT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNT-PROFILE" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the name of the count profile used to determine the AccessCount.value numbers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AccessCountSet.countProfile";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AccessCountSet.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AccessCount::AccessCountSet -->
   <xsd:complexType abstract="false" mixed="false" name="ACCESS-COUNT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides a set of count values evaluated according to the rules of a specific countProfile.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AccessCountSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ACCESS-COUNT-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RolesAndRights::AclObjectSet -->
   <xsd:group name="ACL-OBJECT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to denote a set of objects for which roles and rights (access control lists) shall be defined. It basically can define the objects based on

* the nature of objects
* the involved blueprints
* the artifact in which the objects are serialized
* the definition of the object (in a definition - value pattern)
* individual reference objects</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclObjectSets";mmt.qualifiedName="AclObjectSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-OBJECT-CLASSS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACL-OBJECT-CLASS" type="AR:REFERRABLE--SUBTYPES-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>This specifies that the considered objects as instances of the denoted meta class.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.aclObjectClass";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-SCOPE" type="AR:ACL-SCOPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>this indicates the scope of the referenced objects.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.aclScope";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COLLECTION-REF">
            <xsd:annotation>
               <xsd:documentation>This indicates that the relevant objects are specified via a collection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.collection";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COLLECTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DERIVED-FROM-BLUEPRINT-REFS">
            <xsd:annotation>
               <xsd:documentation>This association indicates that the considered objects are the ones being derived from the associated blueprint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.derivedFromBlueprint";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DERIVED-FROM-BLUEPRINT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ATP-BLUEPRINT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENGINEERING-OBJECTS">
            <xsd:annotation>
               <xsd:documentation>This indicates an engineering object. The AclPermission relates to all objects in this partial model.

This also implies that the other objects in this set shall be placed in the specified engineering object. 

Note that semantic constraints apply with respect to &lt;&lt;atpSplitable&gt;&gt;</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.engineeringObject";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-ENGINEERING-OBJECT" type="AR:AUTOSAR-ENGINEERING-OBJECT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBJECT-DEFINITION-REFS">
            <xsd:annotation>
               <xsd:documentation>This denotes an object by its definition. For example the right to manipulate the value of a particular ecuc parameter is denoted by reference to the definition of the parameter.

Note that this can also be a reference to a Standard Module Definition. Therefore it is stereotyped by atpUriDef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.objectDefinition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="OBJECT-DEFINITION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ATP-DEFINITION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBJECT-DEFINTION-REFS">
            <xsd:annotation>
               <xsd:documentation>Due to miss spell, this element was set to obsolete.
use instead: objectDefinition.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="AclObjectSet.objectDefintion";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="OBJECT-DEFINTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ATP-DEFINITION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBJECT-REFS">
            <xsd:annotation>
               <xsd:documentation>This association applies a particular (usually small) set of objects (e.g. a singular package). Main usage is, if one does not want to create a collection specifically for access control.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclObjectSet.object";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="OBJECT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RolesAndRights::AclObjectSet -->
   <xsd:complexType abstract="false" mixed="false" name="ACL-OBJECT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to denote a set of objects for which roles and rights (access control lists) shall be defined. It basically can define the objects based on

* the nature of objects
* the involved blueprints
* the artifact in which the objects are serialized
* the definition of the object (in a definition - value pattern)
* individual reference objects</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclObjectSets";mmt.qualifiedName="AclObjectSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ACL-OBJECT-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ACL-OBJECT-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACL-OBJECT-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RolesAndRights::AclOperation -->
   <xsd:group name="ACL-OPERATION">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to denote a particular operation which may be performed on objects in an AUTOSAR model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclOperations";mmt.qualifiedName="AclOperation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLIED-OPERATION-REFS">
            <xsd:annotation>
               <xsd:documentation>This indicates that the related operations are also implied. Therefore the permission is also granted for this operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclOperation.impliedOperation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IMPLIED-OPERATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ACL-OPERATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RolesAndRights::AclOperation -->
   <xsd:complexType abstract="false" mixed="false" name="ACL-OPERATION">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to denote a particular operation which may be performed on objects in an AUTOSAR model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclOperations";mmt.qualifiedName="AclOperation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ACL-OPERATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ACL-OPERATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACL-OPERATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RolesAndRights::AclPermission -->
   <xsd:group name="ACL-PERMISSION">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to represent permissions granted on objects in an AUTOSAR model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclPermissions";mmt.qualifiedName="AclPermission"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-CONTEXTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACL-CONTEXT" type="AR:NMTOKEN-STRING">
                     <xsd:annotation>
                        <xsd:documentation>This attribute is intended to specify the context under which the AclPemission is applicable. The values are subject to mutual agreement between the involved stakeholders.

For examples the values can be the names of binding times.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="AclPermission.aclContext";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-OBJECT-REFS">
            <xsd:annotation>
               <xsd:documentation>This denotes an object to which the AclPermission applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclPermission.aclObject";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACL-OBJECT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ACL-OBJECT-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-OPERATION-REFS">
            <xsd:annotation>
               <xsd:documentation>This denotes an operation which is granted by the given AclPermission.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclPermission.aclOperation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACL-OPERATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ACL-OPERATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-ROLE-REFS">
            <xsd:annotation>
               <xsd:documentation>This denotes the role (individual or even organization) for which the AclPermission. is granted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclPermission.aclRole";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACL-ROLE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ACL-ROLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACL-SCOPE" type="AR:ACL-SCOPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This indicates the scope of applied permissions: explicit, descendant, dependent;</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclPermission.aclScope";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RolesAndRights::AclPermission -->
   <xsd:complexType abstract="false" mixed="false" name="ACL-PERMISSION">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to represent permissions granted on objects in an AUTOSAR model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclPermissions";mmt.qualifiedName="AclPermission"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ACL-PERMISSION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RolesAndRights::AclRole -->
   <xsd:group name="ACL-ROLE">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to specify a particular role which is used to grant access rights to AUTOSAR model. The purpose of this meta-class is to support the mutual agreements between the involved parties.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclRoles";mmt.qualifiedName="AclRole"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LDAP-URL" type="AR:URI-STRING">
            <xsd:annotation>
               <xsd:documentation>This is an URL which allows to represent users or organizations taking the particular role.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AclRole.ldapUrl";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RolesAndRights::AclRole -->
   <xsd:complexType abstract="false" mixed="false" name="ACL-ROLE">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to specify a particular role which is used to grant access rights to AUTOSAR model. The purpose of this meta-class is to support the mutual agreements between the involved parties.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AclRoles";mmt.qualifiedName="AclRole"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ACL-ROLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ACL-ROLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACL-ROLE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AdminData::AdminData -->
   <xsd:group name="ADMIN-DATA">
      <xsd:annotation>
         <xsd:documentation>AdminData represents the ability to express administrative information for an element. This administration information is to be treated as meta-data such as revision id or state of the file. There are basically four kinds of meta-data

* The language and/or used languages.

* Revision information covering e.g. revision number, state, release date, changes. Note that this information can be given in general as well as related to a particular company.

* Document meta-data specific for a company</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AdminData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LANGUAGE" type="AR:L-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute  specifies the master language of the document or the document fragment. The master language is the one in which the document is maintained and from which the other languages are derived from. In particular in case of inconsistencies, the information in the master language is priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AdminData.language";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-LANGUAGES" type="AR:MULTI-LANGUAGE-PLAIN-TEXT">
            <xsd:annotation>
               <xsd:documentation>This property specifies the languages which are provided in the document. Therefore it should only be specified in the top level admin data. For each language provided in the document there is one entry in MultilanguagePlainText. The content of each entry can be used for illustration of the language. The used language itself depends on the language attribute in the entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AdminData.usedLanguages";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DOC-REVISIONS">
            <xsd:annotation>
               <xsd:documentation>This allows to denote information about the current revision of the object. 
Note that information about previous revisions can also be logged here. The entries shall be sorted descendant by date in order to reflect the history. Therefore the most recent entry representing the current version is denoted first.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AdminData.docRevision";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="50";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DOC-REVISION" type="AR:DOC-REVISION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDGS">
            <xsd:annotation>
               <xsd:documentation>This property allows to keep special data which is not represented by the standard model. It can be utilized to keep e.g. tool specific data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AdminData.sdg";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="60";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG" type="AR:SDG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AdminData::AdminData -->
   <xsd:complexType abstract="false" mixed="false" name="ADMIN-DATA">
      <xsd:annotation>
         <xsd:documentation>AdminData represents the ability to express administrative information for an element. This administration information is to be treated as meta-data such as revision id or state of the file. There are basically four kinds of meta-data

* The language and/or used languages.

* Revision information covering e.g. revision number, state, release date, changes. Note that this information can be given in general as well as related to a particular company.

* Document meta-data specific for a company</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AdminData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ADMIN-DATA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AgeConstraint::AgeConstraint -->
   <xsd:group name="AGE-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>The AgeConstraint is used to impose a constraint on an Timing Description Event referenced by the scope.

A minimum and a maximum age can be specified.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AgeConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum age.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AgeConstraint.maximum";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum age.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AgeConstraint.minimum";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCOPE-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of an AgeConstraint is any TimingDescriptionEvent that indicates any receipt of data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AgeConstraint.scope";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AgeConstraint::AgeConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="AGE-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>The AgeConstraint is used to impose a constraint on an Timing Description Event referenced by the scope.

A minimum and a maximum age can be specified.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AgeConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:AGE-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::AggregationCondition -->
   <xsd:group name="AGGREGATION-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The AggregationCondition evaluates to true, if the referenced aggregation is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AggregationCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AGGREGATION-REF">
            <xsd:annotation>
               <xsd:documentation>The aggregation that has to be accepted by the restrictions of this AggregationCondition</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AggregationCondition.aggregation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AGGREGATION-TAILORING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::AggregationCondition -->
   <xsd:complexType abstract="false" mixed="false" name="AGGREGATION-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The AggregationCondition evaluates to true, if the referenced aggregation is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AggregationCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CONDITION"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:ATTRIBUTE-CONDITION"/>
         <xsd:group ref="AR:AGGREGATION-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::AggregationTailoring -->
   <xsd:group name="AGGREGATION-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of aggregations in the AUTOSAR meta-model</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AggregationTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Local class tailoring which is applied if the content is contained by this aggegation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AggregationTailoring.typeTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ABSTRACT-CLASS-TAILORING" type="AR:ABSTRACT-CLASS-TAILORING"/>
                  <xsd:element name="CONCRETE-CLASS-TAILORING" type="AR:CONCRETE-CLASS-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::AggregationTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="AGGREGATION-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of aggregations in the AUTOSAR meta-model</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AggregationTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:ATTRIBUTE-TAILORING"/>
         <xsd:group ref="AR:AGGREGATION-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="AGGREGATION-TAILORING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AGGREGATION-TAILORING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FlatMap::AliasNameAssignment -->
   <xsd:group name="ALIAS-NAME-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to associate an alternative name to a flat representations or an Identifiable.

The usage of this name is defined outside of AUTOSAR. For example this name can be used by MCD tools or as a name for component instances in the ECU extract.

Note that flatInstance and identifiable are mutually exclusive.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the alias name. It is modeled as string because the alias name is used outside of AUTOSAR and therefore no naming conventions can be applied within AUTOSAR.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LABEL" type="AR:MULTILANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This represents an "Alias LongName".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment.label";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENTIFIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>Assignment of a unique name to an Identifiable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment.identifiable";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IDENTIFIABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLAT-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Assignment of a unique name to a flat representation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment.flatInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLAT-INSTANCE-DESCRIPTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlatMap::AliasNameAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="ALIAS-NAME-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to associate an alternative name to a flat representations or an Identifiable.

The usage of this name is defined outside of AUTOSAR. For example this name can be used by MCD tools or as a name for component instances in the ECU extract.

Note that flatInstance and identifiable are mutually exclusive.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AliasNameAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ALIAS-NAME-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FlatMap::AliasNameSet -->
   <xsd:group name="ALIAS-NAME-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a set of AliasNames. The AliasNameSet can for example be an input to the A2L-Generator. It shall not be used by the RTE generator to generate the MC-Support.

In a given instance of AliasNameSet in the bound system there must be at most one aliasName per FlatInstanceDescriptor.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AliasNameSets";mmt.qualifiedName="AliasNameSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIAS-NAMES">
            <xsd:annotation>
               <xsd:documentation>AliasNames contained in the AliasNameSet.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortLabel";mmt.qualifiedName="AliasNameSet.aliasName";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ALIAS-NAME-ASSIGNMENT" type="AR:ALIAS-NAME-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlatMap::AliasNameSet -->
   <xsd:complexType abstract="false" mixed="false" name="ALIAS-NAME-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a set of AliasNames. The AliasNameSet can for example be an input to the A2L-Generator. It shall not be used by the RTE generator to generate the MC-Support.

In a given instance of AliasNameSet in the bound system there must be at most one aliasName per FlatInstanceDescriptor.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="AliasNameSets";mmt.qualifiedName="AliasNameSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ALIAS-NAME-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ExecutionTime::AnalyzedExecutionTime -->
   <xsd:group name="ANALYZED-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>AnalyzedExecutionTime provides an analytic method for specifying the best and worst case execution time.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AnalyzedExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BEST-CASE-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The best case execution time (BCET) defines the minimum amount of time the related executable entity requires for its execution.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AnalyzedExecutionTime.bestCaseExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WORST-CASE-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The worst case execution time (WCET) defines the maximum amount of time the related executable entity requires for its execution.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AnalyzedExecutionTime.worstCaseExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionTime::AnalyzedExecutionTime -->
   <xsd:complexType abstract="false" mixed="false" name="ANALYZED-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>AnalyzedExecutionTime provides an analytic method for specifying the best and worst case execution time.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AnalyzedExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTION-TIME"/>
         <xsd:group ref="AR:ANALYZED-EXECUTION-TIME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Annotation::Annotation -->
   <xsd:group name="ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>This is a plain annotation which does not have further formal data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Annotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Annotation::Annotation -->
   <xsd:complexType abstract="false" mixed="false" name="ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>This is a plain annotation which does not have further formal data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Annotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AnyInstanceRef::AnyInstanceRef -->
   <xsd:group name="ANY-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Describes a reference to any instance in an AUTOSAR model. This is the most generic form of an instance ref. Refer to the superclass notes for more details.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AnyInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This is one step in the navigation path specified by the instance ref.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AnyInstanceRef.contextElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ATP-FEATURE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REF">
            <xsd:annotation>
               <xsd:documentation>This is the target of the instance ref.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AnyInstanceRef.target";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ATP-FEATURE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AnyInstanceRef.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AnyInstanceRef::AnyInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="ANY-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Describes a reference to any instance in an AUTOSAR model. This is the most generic form of an instance ref. Refer to the superclass notes for more details.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AnyInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:ANY-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Datatypes::ApplicationArrayDataType -->
   <xsd:group name="APPLICATION-ARRAY-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>An application data type which is an array, each element is of the same application data type.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationDataTypes";mmt.qualifiedName="ApplicationArrayDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-ARRAY-SIZE-PROFILE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the profile which the array will follow if it is a variable size array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayDataType.dynamicArraySizeProfile";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENT" type="AR:APPLICATION-ARRAY-ELEMENT">
            <xsd:annotation>
               <xsd:documentation>This association implements the concept of an array element. That is, in some cases it is necessary to be able to identify single array elements, e.g. as input values for an interpolation routine.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayDataType.element";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Datatypes::ApplicationArrayDataType -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-ARRAY-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>An application data type which is an array, each element is of the same application data type.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationDataTypes";mmt.qualifiedName="ApplicationArrayDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-ARRAY-DATA-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataPrototypes::ApplicationArrayElement -->
   <xsd:group name="APPLICATION-ARRAY-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Describes the properties of the elements of an application array data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE-HANDLING" type="AR:ARRAY-SIZE-HANDLING-ENUM">
            <xsd:annotation>
               <xsd:documentation>The way how the size of the array is handled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayElement.arraySizeHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE-SEMANTICS" type="AR:ARRAY-SIZE-SEMANTICS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls how the information about the array size shall be interpreted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayElement.arraySizeSemantics";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This reference can be taken to assign a CompuMethod of category TEXTTABLE  to the array. The texttable entries associate a textual value to an index number such that the element with that index number is represented by a symbolic name.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayElement.indexDataType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-PRIMITIVE-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-ELEMENTS" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>The maximum number of elements that the array can contain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayElement.maxNumberOfElements";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataPrototypes::ApplicationArrayElement -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-ARRAY-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Describes the properties of the elements of an application array data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationArrayElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:DATA-PROTOTYPE"/>
         <xsd:group ref="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:group ref="AR:APPLICATION-ARRAY-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="APPLICATION-ARRAY-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Datatypes::ApplicationCompositeDataType -->
   <xsd:group name="APPLICATION-COMPOSITE-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>Abstract base class for all application data types composed of other data types.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class PortInterface::ApplicationCompositeDataTypeSubElementRef -->
   <xsd:group name="APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the specialization of SubElementMapping with respect to ApplicationCompositeDataTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeDataTypeSubElementRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-COMPOSITE-ELEMENT-IREF" type="AR:APPLICATION-COMPOSITE-ELEMENT-IN-PORT-INTERFACE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the referenced ApplicationCompositeDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeDataTypeSubElementRef.applicationCompositeElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ApplicationCompositeDataTypeSubElementRef -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the specialization of SubElementMapping with respect to ApplicationCompositeDataTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeDataTypeSubElementRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SUB-ELEMENT-REF"/>
         <xsd:group ref="AR:APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataPrototypes::ApplicationCompositeElementDataPrototype -->
   <xsd:group name="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This class represents a data prototype which is aggregated within a composite application data type (record or array). It is introduced to provide a better distinction between target and context in instanceRefs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-TREF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementDataPrototype.type";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefs::ApplicationCompositeElementInPortInterfaceInstanceRef -->
   <xsd:group name="APPLICATION-COMPOSITE-ELEMENT-IN-PORT-INTERFACE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementInPortInterfaceInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to the dataPrototype which is typed by theApplicationDatatype in which which the target can be found.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementInPortInterfaceInstanceRef.rootDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="15"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents a context ApplicationCompositeDataPrototype</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementInPortInterfaceInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the referenced ApplicationCompositeDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementInPortInterfaceInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::ApplicationCompositeElementInPortInterfaceInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-COMPOSITE-ELEMENT-IN-PORT-INTERFACE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationCompositeElementInPortInterfaceInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:APPLICATION-COMPOSITE-ELEMENT-IN-PORT-INTERFACE-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRef::ApplicationDataPrototypeInSystemInstanceRef -->
   <xsd:group name="APPLICATION-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef.rootDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRef::ApplicationDataPrototypeInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataPrototypeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:APPLICATION-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Datatypes::ApplicationDataType -->
   <xsd:group name="APPLICATION-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>ApplicationDataType defines a data type from the application point of view. Especially it should be used whenever something "physical" is at stake. 

An ApplicationDataType represents a set of values as seen in the application model, such as measurement units. It does not consider implementation details such as bit-size, endianess, etc.

It should be possible to model the application level aspects of a VFB system by using ApplicationDataTypes only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="APPLICATION-DATA-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::ApplicationEndpoint -->
   <xsd:group name="APPLICATION-ENDPOINT">
      <xsd:annotation>
         <xsd:documentation>An application endpoint is the endpoint on an Ecu in terms of application addressing (e.g. socket). The application endpoint represents e.g. the listen socket in client-server-based communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSUMED-SERVICE-INSTANCES">
            <xsd:annotation>
               <xsd:documentation>Consumed service instances.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint.consumedServiceInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSUMED-SERVICE-INSTANCE" type="AR:CONSUMED-SERVICE-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISCOVERY-TECHNOLOGY" type="AR:DISCOVERY-TECHNOLOGY">
            <xsd:annotation>
               <xsd:documentation>Defines the used Service-Discovery protocol.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ApplicationEndpoint.discoveryTechnology";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-ENDPOINT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the network address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint.networkEndpoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:NETWORK-ENDPOINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority defined per application endpoint</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint.priority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-SERVICE-INSTANCES">
            <xsd:annotation>
               <xsd:documentation>Provided service instances.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint.providedServiceInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PROVIDED-SERVICE-INSTANCE" type="AR:PROVIDED-SERVICE-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REMOTING-TECHNOLOGY" type="AR:REMOTING-TECHNOLOGY">
            <xsd:annotation>
               <xsd:documentation>Defines the used remoting Technology.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ApplicationEndpoint.remotingTechnology";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERIALIZATION-TECHNOLOGY-REF">
            <xsd:annotation>
               <xsd:documentation>Defines the used serialization technology.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ApplicationEndpoint.serializationTechnology";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SERIALIZATION-TECHNOLOGY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Configuration of the used transport protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint.tpConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="GENERIC-TP" type="AR:GENERIC-TP"/>
                  <xsd:element name="HTTP-TP" type="AR:HTTP-TP"/>
                  <xsd:element name="IEEE-1722-TP" type="AR:IEEE-1722-TP"/>
                  <xsd:element name="RTP-TP" type="AR:RTP-TP"/>
                  <xsd:element name="TCP-TP" type="AR:TCP-TP"/>
                  <xsd:element name="UDP-TP" type="AR:UDP-TP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::ApplicationEndpoint -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-ENDPOINT">
      <xsd:annotation>
         <xsd:documentation>An application endpoint is the endpoint on an Ecu in terms of application addressing (e.g. socket). The application endpoint represents e.g. the listen socket in client-server-based communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEndpoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:APPLICATION-ENDPOINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="APPLICATION-ENDPOINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ENDPOINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinCommunication::ApplicationEntry -->
   <xsd:group name="APPLICATION-ENTRY">
      <xsd:annotation>
         <xsd:documentation>Schedule table entry for application messages.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the LinFrame that will be transmitted in this frame slot.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEntry.frameTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::ApplicationEntry -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-ENTRY">
      <xsd:annotation>
         <xsd:documentation>Schedule table entry for application messages.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:APPLICATION-ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ApplicationError -->
   <xsd:group name="APPLICATION-ERROR">
      <xsd:annotation>
         <xsd:documentation>This is a user-defined error that is associated with an element of an AUTOSAR interface. It is specific for the particular functionality or service provided by the AUTOSAR software component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationError"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ERROR-CODE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The RTE generator is forced to assign this value to the corresponding error symbol. Note that for error codes certain ranges are predefined (see RTE specification).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationError.errorCode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ApplicationError -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-ERROR">
      <xsd:annotation>
         <xsd:documentation>This is a user-defined error that is associated with an element of an AUTOSAR interface. It is specific for the particular functionality or service provided by the AUTOSAR software component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationError"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:APPLICATION-ERROR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="APPLICATION-ERROR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ERROR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataMapping::ApplicationErrorMapping -->
   <xsd:group name="APPLICATION-ERROR-MAPPING">
      <xsd:annotation>
         <xsd:documentation>In client server communication, the server may return any value within the application error range.

The ApplicationError is mapped to the responseGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ApplicationErrorMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the SystemSignal with the ApplicationError.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationErrorMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ApplicationErrorMapping -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-ERROR-MAPPING">
      <xsd:annotation>
         <xsd:documentation>In client server communication, the server may return any value within the application error range.

The ApplicationError is mapped to the responseGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ApplicationErrorMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:APPLICATION-ERROR-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::ApplicationPartition -->
   <xsd:group name="APPLICATION-PARTITION">
      <xsd:annotation>
         <xsd:documentation>ApplicationPartition to which SwComponentPrototypes are mapped at a point in time when the corresponding EcuInstance is not yet known or defined. In a later methodology step the ApplicationPartition can be assigned to an EcuPartition.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationPartitions";mmt.qualifiedName="ApplicationPartition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SWmapping::ApplicationPartition -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-PARTITION">
      <xsd:annotation>
         <xsd:documentation>ApplicationPartition to which SwComponentPrototypes are mapped at a point in time when the corresponding EcuInstance is not yet known or defined. In a later methodology step the ApplicationPartition can be assigned to an EcuPartition.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationPartitions";mmt.qualifiedName="ApplicationPartition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:APPLICATION-PARTITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="APPLICATION-PARTITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-PARTITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SWmapping::ApplicationPartitionToEcuPartitionMapping -->
   <xsd:group name="APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Maps ApplicationPartitions to EcuPartitions. With this mapping an OEM has the option to predefine an allocation of Software Components to EcuPartitions in the System Design phase. The final and complete assignment is described in the OS Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationPartitionToEcuPartitionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-PARTITION-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to ApplicationPartitions that are mapped to an EcuPartition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationPartitionToEcuPartitionMapping.applicationPartition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-PARTITION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:APPLICATION-PARTITION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-PARTITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to EcuPartition to which the ApplicationPartitions are assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationPartitionToEcuPartitionMapping.ecuPartition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-PARTITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationPartitionToEcuPartitionMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::ApplicationPartitionToEcuPartitionMapping -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Maps ApplicationPartitions to EcuPartitions. With this mapping an OEM has the option to predefine an allocation of Software Components to EcuPartitions in the System Design phase. The final and complete assignment is described in the OS Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationPartitionToEcuPartitionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Datatypes::ApplicationPrimitiveDataType -->
   <xsd:group name="APPLICATION-PRIMITIVE-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>A primitive data type defines a set of allowed values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationDataTypes";mmt.qualifiedName="ApplicationPrimitiveDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Datatypes::ApplicationPrimitiveDataType -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-PRIMITIVE-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>A primitive data type defines a set of allowed values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationDataTypes";mmt.qualifiedName="ApplicationPrimitiveDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-PRIMITIVE-DATA-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="APPLICATION-PRIMITIVE-DATA-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Datatypes::ApplicationRecordDataType -->
   <xsd:group name="APPLICATION-RECORD-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>An application data type which can be decomposed into prototypes of other application data types.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationDataTypes";mmt.qualifiedName="ApplicationRecordDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>Specifies an element of a record.

The aggregation of ApplicationRecordElement is subject to variability with the purpose to support the conditional existence of elements inside a ApplicationrecordDataType.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRecordDataType.element";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-RECORD-ELEMENT" type="AR:APPLICATION-RECORD-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Datatypes::ApplicationRecordDataType -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-RECORD-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>An application data type which can be decomposed into prototypes of other application data types.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ApplicationDataTypes";mmt.qualifiedName="ApplicationRecordDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:group ref="AR:APPLICATION-RECORD-DATA-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataPrototypes::ApplicationRecordElement -->
   <xsd:group name="APPLICATION-RECORD-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Describes the properties of one particular element of an application record data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRecordElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRecordElement.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataPrototypes::ApplicationRecordElement -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-RECORD-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Describes the properties of one particular element of an application record data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRecordElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:DATA-PROTOTYPE"/>
         <xsd:group ref="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:group ref="AR:APPLICATION-RECORD-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="APPLICATION-RECORD-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Constants::ApplicationRuleBasedValueSpecification -->
   <xsd:group name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents rule based values for DataPrototypes typed by ApplicationDataTypes (ApplicationArrayDataType or a compound ApplicationPrimitiveDataType which also boils down to an array-nature).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This represents the category of the RuleBasedValueSpecification</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRuleBasedValueSpecification.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-CONTS">
            <xsd:annotation>
               <xsd:documentation>This represents the axis values of a Compound Primitive Data Type (curve or map).

The first swAxisCont describes the x-axis, the second swAxisCont describes the y-axis, the third swAxisCont describes the z-axis. In addition to this, the axis can be denoted in swAxisIndex.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRuleBasedValueSpecification.swAxisCont";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RULE-BASED-AXIS-CONT" type="AR:RULE-BASED-AXIS-CONT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VALUE-CONT" type="AR:RULE-BASED-VALUE-CONT">
            <xsd:annotation>
               <xsd:documentation>This represents the values of an array or Compound Primitive Data Type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRuleBasedValueSpecification.swValueCont";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ApplicationRuleBasedValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents rule based values for DataPrototypes typed by ApplicationDataTypes (ApplicationArrayDataType or a compound ApplicationPrimitiveDataType which also boils down to an array-nature).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:ABSTRACT-RULE-BASED-VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::ApplicationSwComponentType -->
   <xsd:group name="APPLICATION-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ApplicationSwComponentType is used to represent the application software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ApplicationSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Components::ApplicationSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ApplicationSwComponentType is used to represent the application software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ApplicationSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:APPLICATION-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Constants::ApplicationValueSpecification -->
   <xsd:group name="APPLICATION-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents values for DataPrototypes typed by ApplicationDataTypes (this includes in particular compound primitives). 

For further details refer to ASAM CDF 2.0. This meta-class corresponds to some extent with SW-INSTANCE in ASAM CDF 2.0.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Specifies to which category of ApplicationDataType this ApplicationValueSpecification can be applied (e.g. as an initial value), thus imposing constraints on the structure and semantics of the contained values, see [constr_1006] and [constr_2051].</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationValueSpecification.category";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-CONTS">
            <xsd:annotation>
               <xsd:documentation>This represents the axis values of a Compound Primitive Data Type (curve or map).

The first swAxisCont describes the x-axis, the second swAxisCont describes the y-axis, the third swAxisCont describes the z-axis. In addition to this, the axis can be denoted in swAxisIndex.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationValueSpecification.swAxisCont";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-AXIS-CONT" type="AR:SW-AXIS-CONT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VALUE-CONT" type="AR:SW-VALUE-CONT">
            <xsd:annotation>
               <xsd:documentation>This represents the values of a Compound Primitive Data Type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationValueSpecification.swValueCont";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ApplicationValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="APPLICATION-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents values for DataPrototypes typed by ApplicationDataTypes (this includes in particular compound primitives). 

For further details refer to ASAM CDF 2.0. This meta-class corresponds to some extent with SW-INSTANCE in ASAM CDF 2.0.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApplicationValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:APPLICATION-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataElements::ArVariableInImplementationDataInstanceRef -->
   <xsd:group name="AR-VARIABLE-IN-IMPLEMENTATION-DATA-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to navigate into a data element inside of an VariableDataPrototype which is typed  by an ImplementationDatatype.

Note that it shall not be used if the target is the VariableDataPrototype itself (e.g. if its a primitive).

Note that this class follows the pattern of an InstanceRef but is not implemented based on the abstract classes because the ImplementationDataType isn't either, especially because ImplementationDataTypeElement isn't derived from AtpPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArVariableInImplementationDataInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the port providing/receiving the root of the variable</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArVariableInImplementationDataInstanceRef.portPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-VARIABLE-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to the variableDataPrototype which is typed by the implementationDatatype in which which the target can be found.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArVariableInImplementationDataInstanceRef.rootVariableDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REFS">
            <xsd:annotation>
               <xsd:documentation>This is a context in case there are subelements with explicit types. The reference has to be ordered to properly reflect the nested structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArVariableInImplementationDataInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTEXT-DATA-PROTOTYPE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is a context in case there are subelements with explicit types.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArVariableInImplementationDataInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataElements::ArVariableInImplementationDataInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="AR-VARIABLE-IN-IMPLEMENTATION-DATA-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to navigate into a data element inside of an VariableDataPrototype which is typed  by an ImplementationDatatype.

Note that it shall not be used if the target is the VariableDataPrototype itself (e.g. if its a primitive).

Note that this class follows the pattern of an InstanceRef but is not implemented based on the abstract classes because the ImplementationDataType isn't either, especially because ImplementationDataTypeElement isn't derived from AtpPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArVariableInImplementationDataInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:AR-VARIABLE-IN-IMPLEMENTATION-DATA-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EventTriggeringConstraint::ArbitraryEventTriggering -->
   <xsd:group name="ARBITRARY-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The ArbitraryEventTriggering describes that an event occurs occasionally, singly, irregularly or randomly.

The primary purpose of this event triggering is to abstract event occurrences captured by data acquisition tools (background debugger, trace analyzer, etc.) during system runtime.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArbitraryEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-DISTANCES">
            <xsd:annotation>
               <xsd:documentation>The nth array element describes the minimum distance that can be observed for a sample of n+1 event occurrences.

This is an array with an identical number of elements as for the maximumDistance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArbitraryEventTriggering.minimumDistance";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.name="TIME-VALUE";xml.roleElement="true";xml.sequenceOffset="10";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TIME-VALUE" type="AR:MULTIDIMENSIONAL-TIME"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-DISTANCES">
            <xsd:annotation>
               <xsd:documentation>The nth array element describes the maximum distance that can be observed for a sample of n+1 event occurrences.

This is an array with an identical number of elements as for the minimumDistance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArbitraryEventTriggering.maximumDistance";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.name="TIME-VALUE";xml.roleElement="true";xml.sequenceOffset="20";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TIME-VALUE" type="AR:MULTIDIMENSIONAL-TIME"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIDENCE-INTERVALS">
            <xsd:annotation>
               <xsd:documentation>List of confidence intervals.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArbitraryEventTriggering.confidenceInterval";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONFIDENCE-INTERVAL" type="AR:CONFIDENCE-INTERVAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EventTriggeringConstraint::ArbitraryEventTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="ARBITRARY-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The ArbitraryEventTriggering describes that an event occurs occasionally, singly, irregularly or randomly.

The primary purpose of this event triggering is to abstract event occurrences captured by data acquisition tools (background debugger, trace analyzer, etc.) during system runtime.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArbitraryEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:group ref="AR:ARBITRARY-EVENT-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Figure::Area -->
   <xsd:group name="AREA">
      <xsd:annotation>
         <xsd:documentation>This element specifies a region in an image map. Image maps enable authors to specify regions in an object (e.g. a graphic) and to assign a specific activity to each region (e.g. load a document, launch a program etc.).

For more details refer to the specification of HTML.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Area"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class Figure::Area -->
   <xsd:attributeGroup name="AREA">
      <xsd:annotation>
         <xsd:documentation>This element specifies a region in an image map. Image maps enable authors to specify regions in an object (e.g. a graphic) and to assign a specific activity to each region (e.g. load a document, launch a program etc.).

For more details refer to the specification of HTML.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Area"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ACCESSKEY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute assigns an access key to an element.
An access key is an individual character (e.g. "B") within the document character
range. If an access key with an element assigned to it is pressed, the element comes
into focus. The activity performed when an element comes into focus, is dependent on
the element itself</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.accesskey";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ALT" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the text to be inserted as an alternative to illustrations, shapes or applets, where these
cannot be displayed by user agents.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.alt";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="CLASS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Blank separated list of classes</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.class";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COORDS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the position and shape on the screen.
The number of values and their order depend on the geometrical figure defined.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.coords";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HREF" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the memory location of a web resource. It is therefore able to specify a link between the current element and the target element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.href";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="NOHREF" type="AR:AREA-ENUM-NOHREF--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>If this attribute is set, the Area has no associated link.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.nohref";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONBLUR" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONBLUR-Event occurs, when focus is switched away from an element. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onblur";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONCLICK" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONCLICK-Event occurs, if the current element is clicked-on. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onclick";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONDBLCLICK" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONCLICK-Event occurs, if the current element is "double" clicked-on. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.ondblclick";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONFOCUS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONFOCUS-Event occurs, if an element comes into focus (e.g., through navigation using the tab button). 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onfocus";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONKEYDOWN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONKEYDOWN-Event occurs, if a button on the current element is pressed down. 

A script can be stored in this attribute to be performed in the event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onkeydown";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONKEYPRESS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONKEYPRESS-Event occurs, if a button on the current element is pressed down and released. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onkeypress";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONKEYUP" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONKEYUP-Event occurs, if a button on the current element is released. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onkeyup";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEDOWN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEDOWN-Event occurs, if the mouse button used for clicking is held down on the current element. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onmousedown";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEMOVE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEMOVE-Event occurs, if the mouse pointer is moved on the current 
element (i.e. it is located on the current element). 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onmousemove";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEOUT" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEOUT-Event occurs, if the mouse pointer is moved from the current element.

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onmouseout";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEOVER" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEOVER-Event occurs, if the mouse pointer is moved to the current element
from another location outside it. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onmouseover";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEUP" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEUP-Event occurs if the mouse button used for clicking is released on the
current element. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.onmouseup";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHAPE" type="AR:AREA-ENUM-SHAPE--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The shape of the area. Note that in HTML this is defaulted to RECT.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.shape";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="STYLE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Information on the associated style</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.style";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="TABINDEX" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the position of the current element in tabbing-order for the corresponding document.

The value must lie between 0 and 32767. The Tabbing Order defines the sequence in which elements are focused on, when the user navigates using the keyboard.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.tabindex";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="TITLE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Title information of the Area element</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Area.title";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Figure::Area -->
   <xsd:complexType abstract="false" mixed="false" name="AREA">
      <xsd:annotation>
         <xsd:documentation>This element specifies a region in an image map. Image maps enable authors to specify regions in an object (e.g. a graphic) and to assign a specific activity to each region (e.g. load a document, launch a program etc.).

For more details refer to the specification of HTML.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Area"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:AREA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:AREA"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ArgumentDataPrototype -->
   <xsd:group name="ARGUMENT-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>An argument of an operation, much like a data element, but also carries direction information and is owned by a particular ClientServerOperation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArgumentDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECTION" type="AR:ARGUMENT-DIRECTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the direction of the argument prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArgumentDataPrototype.direction";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVER-ARGUMENT-IMPL-POLICY" type="AR:SERVER-ARGUMENT-IMPL-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This defines how the argument type of the servers RunnableEntity is implemented.

If the attribute is not defined this has the same semantics as if the attribute is set to the value useArgumentType for primitive arguments and structures and to the value useArrayBaseType for arrays.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArgumentDataPrototype.serverArgumentImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-BLUEPRINTS">
            <xsd:annotation>
               <xsd:documentation>This allows to denote the intended type within blueprints. It shall be replaced by a proper type when deriving Interfaces from the Blueprint.
Use instead BluePrintPolicySingle.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ArgumentDataPrototype.typeBlueprint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-DATA-TYPE-REF-CONDITIONAL" type="AR:AUTOSAR-DATA-TYPE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArgumentDataPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ArgumentDataPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="ARGUMENT-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>An argument of an operation, much like a data element, but also carries direction information and is owned by a particular ClientServerOperation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArgumentDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:DATA-PROTOTYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:group ref="AR:ARGUMENT-DATA-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ARGUMENT-DATA-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Constants::ArrayValueSpecification -->
   <xsd:group name="ARRAY-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specifies the values for an array.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArrayValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>The value for a single array element. All ValueSpecifications aggregated by ArrayValueSpecification shall have the same structure.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ArrayValueSpecification.element";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ArrayValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="ARRAY-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specifies the values for an array.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArrayValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:COMPOSITE-VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:ARRAY-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Composition::AssemblySwConnector -->
   <xsd:group name="ASSEMBLY-SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>AssemblySwConnectors are exclusively used to connect SwComponentPrototypes in the context of a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssemblySwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDER-IREF" type="AR:P-PORT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance of providing port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssemblySwConnector.provider";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUESTER-IREF" type="AR:R-PORT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance of requiring port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssemblySwConnector.requester";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Composition::AssemblySwConnector -->
   <xsd:complexType abstract="false" mixed="false" name="ASSEMBLY-SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>AssemblySwConnectors are exclusively used to connect SwComponentPrototypes in the context of a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssemblySwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:SW-CONNECTOR"/>
         <xsd:group ref="AR:ASSEMBLY-SW-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::AssignFrameId -->
   <xsd:group name="ASSIGN-FRAME-ID">
      <xsd:annotation>
         <xsd:documentation>Schedule entry for an  Assign Frame Id master request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameId"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-FRAME-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:documentation>The frame whose identifier is set by this assignment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameId.assignedFrameTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>MessageId of the referenced frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameId.messageId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::AssignFrameId -->
   <xsd:complexType abstract="false" mixed="false" name="ASSIGN-FRAME-ID">
      <xsd:annotation>
         <xsd:documentation>Schedule entry for an  Assign Frame Id master request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameId"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:ASSIGN-FRAME-ID"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::AssignFrameIdRange -->
   <xsd:group name="ASSIGN-FRAME-ID-RANGE">
      <xsd:annotation>
         <xsd:documentation>AssignFrameIdRange generates an assign frame PID range request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameIdRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-PIDS">
            <xsd:annotation>
               <xsd:documentation>Optional assignment of frame_PID values that are included in the request. The frame_PIDs are ordered.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameIdRange.framePid";pureMM.maxOccurs="4";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="4" minOccurs="0">
                  <xsd:element name="FRAME-PID" type="AR:FRAME-PID"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="START-INDEX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The startIndex sets the index to the first frame to assign a PID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameIdRange.startIndex";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::AssignFrameIdRange -->
   <xsd:complexType abstract="false" mixed="false" name="ASSIGN-FRAME-ID-RANGE">
      <xsd:annotation>
         <xsd:documentation>AssignFrameIdRange generates an assign frame PID range request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssignFrameIdRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:ASSIGN-FRAME-ID-RANGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::AssignNad -->
   <xsd:group name="ASSIGN-NAD">
      <xsd:annotation>
         <xsd:documentation>Schedule entry for an Assign NAD master request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssignNad"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NEW-NAD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The newly assigned NAD value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AssignNad.newNad";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::AssignNad -->
   <xsd:complexType abstract="false" mixed="false" name="ASSIGN-NAD">
      <xsd:annotation>
         <xsd:documentation>Schedule entry for an Assign NAD master request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AssignNad"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:ASSIGN-NAD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServerCall::AsynchronousServerCallPoint -->
   <xsd:group name="ASYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>An AsynchronousServerCallPoint is used for asynchronous invocation of a ClientServerOperation.
IMPORTANT: a ServerCallPoint cannot be used concurrently. Once the client RunnableEntity has made the invocation, the ServerCallPoint cannot be used until the call returns (or an error occurs!) at which point the ServerCallPoint becomes available again.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServerCall::AsynchronousServerCallPoint -->
   <xsd:complexType abstract="false" mixed="false" name="ASYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>An AsynchronousServerCallPoint is used for asynchronous invocation of a ClientServerOperation.
IMPORTANT: a ServerCallPoint cannot be used concurrently. Once the client RunnableEntity has made the invocation, the ServerCallPoint cannot be used until the call returns (or an error occurs!) at which point the ServerCallPoint becomes available again.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:SERVER-CALL-POINT"/>
         <xsd:group ref="AR:ASYNCHRONOUS-SERVER-CALL-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ASYNCHRONOUS-SERVER-CALL-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServerCall::AsynchronousServerCallResultPoint -->
   <xsd:group name="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns a AsynchronousServerCallResultPoint it is entitled to get the result of the referenced AsynchronousServerCallPoint.
If it is associated with AsynchronousServerCallReturnsEvent, this RTEEvent notifies the completion of the required ClientServerOperation or a timeout. The occurrence of this event can either unblock a WaitPoint or can lead to the invocation of a RunnableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallResultPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASYNCHRONOUS-SERVER-CALL-POINT-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced Asynchronous Server Call Point defines the asynchronous server call from which the results are returned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallResultPoint.asynchronousServerCallPoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ASYNCHRONOUS-SERVER-CALL-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallResultPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServerCall::AsynchronousServerCallResultPoint -->
   <xsd:complexType abstract="false" mixed="false" name="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns a AsynchronousServerCallResultPoint it is entitled to get the result of the referenced AsynchronousServerCallPoint.
If it is associated with AsynchronousServerCallReturnsEvent, this RTEEvent notifies the completion of the required ClientServerOperation or a timeout. The occurrence of this event can either unblock a WaitPoint or can lead to the invocation of a RunnableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallResultPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RTEEvents::AsynchronousServerCallReturnsEvent -->
   <xsd:group name="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised when an asynchronous server call is finished.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallReturnsEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced AsynchronousServerCallResultPoint which is raises the RTEEvent in case of returning asynchronous server call.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="event.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ASYNCHRONOUS-SERVER-CALL-RESULT-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::AsynchronousServerCallReturnsEvent -->
   <xsd:complexType abstract="false" mixed="false" name="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised when an asynchronous server call is finished.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsynchronousServerCallReturnsEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::AtomicSwComponentType -->
   <xsd:group name="ATOMIC-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>An atomic software component is atomic in the sense that it cannot be further decomposed and distributed across multiple ECUs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtomicSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERNAL-BEHAVIORS">
            <xsd:annotation>
               <xsd:documentation>The SwcInternalBehaviors owned by an AtomicSwComponentType can be located in a different physical file. Therefore the aggregation is &lt;&lt;atpSplitable&gt;&gt;.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="internalBehavior, variationPoint.shortLabel";mmt.qualifiedName="AtomicSwComponentType.internalBehavior";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-INTERNAL-BEHAVIOR" type="AR:SWC-INTERNAL-BEHAVIOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL-PROPS" type="AR:SYMBOL-PROPS">
            <xsd:annotation>
               <xsd:documentation>This represents the SymbolProps for the AtomicSwComponentType.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="AtomicSwComponentType.symbolProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ATOMIC-SW-COMPONENT-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AbstractBlueprintStructure::AtpBlueprint -->
   <xsd:group name="ATP-BLUEPRINT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to act as a Blueprint. As this class is an abstract one, particular blueprint meta-classes inherit from this one.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpBlueprint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-POLICYS">
            <xsd:annotation>
               <xsd:documentation>This role indicates whether the blueprintable element will be modifiable or not motifiable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AtpBlueprint.blueprintPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BLUEPRINT-POLICY-LIST" type="AR:BLUEPRINT-POLICY-LIST"/>
                  <xsd:element name="BLUEPRINT-POLICY-NOT-MODIFIABLE" type="AR:BLUEPRINT-POLICY-NOT-MODIFIABLE"/>
                  <xsd:element name="BLUEPRINT-POLICY-SINGLE" type="AR:BLUEPRINT-POLICY-SINGLE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-NAME-PATTERN" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the pattern which shall be used to build the shortName of the derived elements. As of now it is modeled as a String.  In general it should follow the pattern:

  pattern = (placeholder | namePart)*
  placeholder = "{" namePart "}"
  namePart = identifier | "_"

This is subject to be refined in subsequent versions.

Note that this is marked as obsolete. Use the xml attribute namePattern instead as it applies to Identifier and CIdentifier (shortName, symbol etc.)</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="AtpBlueprint.shortNamePattern";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ATP-BLUEPRINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR-PACKAGE"/>
         <xsd:enumeration value="ACL-OBJECT-SET"/>
         <xsd:enumeration value="ACL-OPERATION"/>
         <xsd:enumeration value="ACL-PERMISSION"/>
         <xsd:enumeration value="ACL-ROLE"/>
         <xsd:enumeration value="ALIAS-NAME-SET"/>
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATP-BLUEPRINT"/>
         <xsd:enumeration value="BSW-ENTRY-RELATIONSHIP-SET"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-MODULE-ENTRY"/>
         <xsd:enumeration value="BUILD-ACTION"/>
         <xsd:enumeration value="BUILD-ACTION-ENTITY"/>
         <xsd:enumeration value="BUILD-ACTION-ENVIRONMENT"/>
         <xsd:enumeration value="BUILD-ACTION-MANIFEST"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPU-METHOD"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS"/>
         <xsd:enumeration value="DATA-CONSTR"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="DATA-TYPE-MAPPING-SET"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECUC-DEFINITION-COLLECTION"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF-SET"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="FLAT-MAP"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="KEYWORD-SET"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-INTERFACE-MAPPING"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING-SET"/>
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-ADDR-METHOD"/>
         <xsd:enumeration value="SW-BASE-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VFB-TIMING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AbstractBlueprintStructure::AtpBlueprintMapping -->
   <xsd:group name="ATP-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a particular mapping between a blueprint and an element derived from this blueprint.

Particular mappings are defined by specializations of this meta-class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>atpBlueprint skipped -->
         <!-- Association <<atpDerived>>atpBlueprintedElement skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AbstractBlueprintStructure::AtpBlueprintable -->
   <xsd:group name="ATP-BLUEPRINTABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to be derived from a Blueprint. As this class is an abstract one, particular blueprintable meta-classes inherit from this one.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpBlueprintable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="ATP-BLUEPRINTABLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR-PACKAGE"/>
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ACL-OBJECT-SET"/>
         <xsd:enumeration value="ACL-OPERATION"/>
         <xsd:enumeration value="ACL-PERMISSION"/>
         <xsd:enumeration value="ACL-ROLE"/>
         <xsd:enumeration value="ALIAS-NAME-SET"/>
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATP-BLUEPRINTABLE"/>
         <xsd:enumeration value="BSW-ENTRY-RELATIONSHIP-SET"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-MODULE-ENTRY"/>
         <xsd:enumeration value="BUILD-ACTION"/>
         <xsd:enumeration value="BUILD-ACTION-ENTITY"/>
         <xsd:enumeration value="BUILD-ACTION-ENVIRONMENT"/>
         <xsd:enumeration value="BUILD-ACTION-MANIFEST"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPU-METHOD"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS"/>
         <xsd:enumeration value="DATA-CONSTR"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="DATA-TYPE-MAPPING-SET"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECUC-DEFINITION-COLLECTION"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF-SET"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="FLAT-MAP"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="KEYWORD-SET"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-INTERFACE-MAPPING"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING-SET"/>
         <xsd:enumeration value="PORT-PROTOTYPE"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-ADDR-METHOD"/>
         <xsd:enumeration value="SW-BASE-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VFB-TIMING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AbstractStructure::AtpClassifier -->
   <xsd:group name="ATP-CLASSIFIER">
      <xsd:annotation>
         <xsd:documentation>A classifier classifies M0 instances according to their features. Or: a classifier is something that has instances - an M1 classifier has M0 instances.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpClassifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>atpFeature skipped -->
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ATP-CLASSIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-ACCESS-POINT"/>
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ASSEMBLY-SW-CONNECTOR"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATP-CLASSIFIER"/>
         <xsd:enumeration value="ATP-STRUCTURE-ELEMENT"/>
         <xsd:enumeration value="ATP-TYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-TYPE"/>
         <xsd:enumeration value="BACKGROUND-EVENT"/>
         <xsd:enumeration value="BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-SERVICE-DEPENDENCY-IDENT"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="CLIENT-SERVER-OPERATION"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="DATA-PROTOTYPE-GROUP"/>
         <xsd:enumeration value="DATA-RECEIVE-ERROR-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="DATA-SEND-COMPLETED-EVENT"/>
         <xsd:enumeration value="DATA-WRITE-COMPLETED-EVENT"/>
         <xsd:enumeration value="DELEGATION-SW-CONNECTOR"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGERING-POINT-IDENT"/>
         <xsd:enumeration value="IDENT-CAPTION"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
         <xsd:enumeration value="INIT-EVENT"/>
         <xsd:enumeration value="INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="MODE-ACCESS-POINT-IDENT"/>
         <xsd:enumeration value="MODE-DECLARATION"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING-SET"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="MODE-SWITCH-POINT"/>
         <xsd:enumeration value="MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="MODE-TRANSITION"/>
         <xsd:enumeration value="NV-BLOCK-DESCRIPTOR"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="PARAMETER-ACCESS"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PASS-THROUGH-SW-CONNECTOR"/>
         <xsd:enumeration value="PER-INSTANCE-MEMORY"/>
         <xsd:enumeration value="PORT-GROUP"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
         <xsd:enumeration value="RTE-EVENT"/>
         <xsd:enumeration value="RUNNABLE-ENTITY"/>
         <xsd:enumeration value="RUNNABLE-ENTITY-GROUP"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVER-CALL-POINT"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-CONNECTOR"/>
         <xsd:enumeration value="SWC-BSW-MAPPING"/>
         <xsd:enumeration value="SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="SWC-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="SWC-SERVICE-DEPENDENCY"/>
         <xsd:enumeration value="SYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="SYSTEM"/>
         <xsd:enumeration value="TIMING-EVENT"/>
         <xsd:enumeration value="TRANSFORMER-HARD-ERROR-EVENT"/>
         <xsd:enumeration value="TRIGGER"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
         <xsd:enumeration value="VARIABLE-ACCESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RolesAndRights::AtpDefinition -->
   <xsd:group name="ATP-DEFINITION">
      <xsd:annotation>
         <xsd:documentation>This abstract meta class represents "definition"-elements which identify the respective values. For example the value of a particular system constant is identified by the definition of this system constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpDefinition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="ATP-DEFINITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ATP-DEFINITION"/>
         <xsd:enumeration value="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ADD-INFO-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-BOOLEAN-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-COMMON-ATTRIBUTES"/>
         <xsd:enumeration value="ECUC-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-DEFINITION-ELEMENT"/>
         <xsd:enumeration value="ECUC-ENUMERATION-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FLOAT-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FOREIGN-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-FUNCTION-NAME-DEF"/>
         <xsd:enumeration value="ECUC-INSTANCE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-INTEGER-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-LINKER-SYMBOL-DEF"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="ECUC-MULTILINE-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-PARAM-CONF-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-PARAMETER-DEF"/>
         <xsd:enumeration value="ECUC-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-URI-REFERENCE-DEF"/>
         <xsd:enumeration value="HW-CATEGORY"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION"/>
         <xsd:enumeration value="SW-SYSTEMCONST"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AbstractStructure::AtpFeature -->
   <xsd:group name="ATP-FEATURE">
      <xsd:annotation>
         <xsd:documentation>Features are properties via which a classifier classifies instances. Or: a classifier has features and every M0 instance of it will have those features.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpFeature"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="ATP-FEATURE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-ACCESS-POINT"/>
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="ASSEMBLY-SW-CONNECTOR"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="ATP-FEATURE"/>
         <xsd:enumeration value="ATP-PROTOTYPE"/>
         <xsd:enumeration value="ATP-STRUCTURE-ELEMENT"/>
         <xsd:enumeration value="AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:enumeration value="BACKGROUND-EVENT"/>
         <xsd:enumeration value="BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-SERVICE-DEPENDENCY-IDENT"/>
         <xsd:enumeration value="CLIENT-SERVER-OPERATION"/>
         <xsd:enumeration value="DATA-PROTOTYPE"/>
         <xsd:enumeration value="DATA-PROTOTYPE-GROUP"/>
         <xsd:enumeration value="DATA-RECEIVE-ERROR-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="DATA-SEND-COMPLETED-EVENT"/>
         <xsd:enumeration value="DATA-WRITE-COMPLETED-EVENT"/>
         <xsd:enumeration value="DELEGATION-SW-CONNECTOR"/>
         <xsd:enumeration value="EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGERING-POINT-IDENT"/>
         <xsd:enumeration value="IDENT-CAPTION"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
         <xsd:enumeration value="INIT-EVENT"/>
         <xsd:enumeration value="INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="MODE-ACCESS-POINT-IDENT"/>
         <xsd:enumeration value="MODE-DECLARATION"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP-PROTOTYPE"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING"/>
         <xsd:enumeration value="MODE-SWITCH-POINT"/>
         <xsd:enumeration value="MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="MODE-TRANSITION"/>
         <xsd:enumeration value="NV-BLOCK-DESCRIPTOR"/>
         <xsd:enumeration value="OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-ACCESS"/>
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
         <xsd:enumeration value="PASS-THROUGH-SW-CONNECTOR"/>
         <xsd:enumeration value="PER-INSTANCE-MEMORY"/>
         <xsd:enumeration value="PORT-GROUP"/>
         <xsd:enumeration value="PORT-PROTOTYPE"/>
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
         <xsd:enumeration value="RTE-EVENT"/>
         <xsd:enumeration value="ROOT-SW-COMPOSITION-PROTOTYPE"/>
         <xsd:enumeration value="RUNNABLE-ENTITY"/>
         <xsd:enumeration value="RUNNABLE-ENTITY-GROUP"/>
         <xsd:enumeration value="SERVER-CALL-POINT"/>
         <xsd:enumeration value="SW-COMPONENT-PROTOTYPE"/>
         <xsd:enumeration value="SW-CONNECTOR"/>
         <xsd:enumeration value="SWC-BSW-MAPPING"/>
         <xsd:enumeration value="SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="SWC-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="SWC-SERVICE-DEPENDENCY"/>
         <xsd:enumeration value="SYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="SYSTEM"/>
         <xsd:enumeration value="TIMING-EVENT"/>
         <xsd:enumeration value="TRANSFORMER-HARD-ERROR-EVENT"/>
         <xsd:enumeration value="TRIGGER"/>
         <xsd:enumeration value="VARIABLE-ACCESS"/>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AbstractStructure::AtpInstanceRef -->
   <xsd:group name="ATP-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>An M0 instance of a classifier may be represented as a tree rooted at that instance, where under each node come the sub-trees representing the instances which act as features under that node. 

An instance ref specifies a navigation path from any M0 tree-instance of the base (which is a classifier) to a leaf (which is an instance of the target).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>atpBase skipped -->
         <!-- Association <<atpDerived>>atpContextElement skipped -->
         <!-- Association <<atpDerived>>atpTarget skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AbstractStructure::AtpPrototype -->
   <xsd:group name="ATP-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>A prototype is a typed feature. A prototype in a classifier indicates that instances of that classifier will have a feature, and the structure of that feature is given by the its type. An instance of that type will play the role indicated by the feature in the owning classifier.

A feature is not an instance but an indication of an instance-to-be.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>atpType skipped -->
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ATP-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="ATP-PROTOTYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:enumeration value="DATA-PROTOTYPE"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP-PROTOTYPE"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
         <xsd:enumeration value="PORT-PROTOTYPE"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ROOT-SW-COMPOSITION-PROTOTYPE"/>
         <xsd:enumeration value="SW-COMPONENT-PROTOTYPE"/>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AbstractStructure::AtpStructureElement -->
   <xsd:group name="ATP-STRUCTURE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>A structure element is both a classifier and a feature. As a feature, its structure is given by the feature it owns as a classifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpStructureElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class AbstractStructure::AtpType -->
   <xsd:group name="ATP-TYPE">
      <xsd:annotation>
         <xsd:documentation>A type is a classifier that may serve to type prototypes. It is a reusable classifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AtpType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="ATP-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATP-TYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-TYPE"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING-SET"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataFormatTailoring::AttributeCondition -->
   <xsd:group name="ATTRIBUTE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The AttributeCondition evaluates to true, if the referenced attribute is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AttributeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DataFormatTailoring::AttributeTailoring -->
   <xsd:group name="ATTRIBUTE-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of Attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AttributeTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTIPLICITY-RESTRICTION" type="AR:MULTIPLICITY-RESTRICTION-WITH-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>Multiplicity restriction of the attribute</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AttributeTailoring.multiplicityRestriction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-RESTRICTION" type="AR:VARIATION-RESTRICTION-WITH-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>Restrictions on the usage of variant handling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AttributeTailoring.variationRestriction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AttributeValueVariationPoints::AttributeValueVariationPoint -->
   <xsd:group name="ATTRIBUTE-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to derive the value of the Attribute from a system constant (by SwSystemconstDependentFormula). It also provides a bindingTime.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AttributeValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class AttributeValueVariationPoints::AttributeValueVariationPoint -->
   <xsd:attributeGroup name="ATTRIBUTE-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to derive the value of the Attribute from a system constant (by SwSystemconstDependentFormula). It also provides a bindingTime.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AttributeValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="BINDING-TIME" type="AR:BINDING-TIME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This is the binding time in which the attribute value needs to be bound.

If this attribute is missing, the attribute is not a variation point. In particular this means that It needs to be a single value according to the type specified in the pure model. It is an error if it is still a formula.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="AttributeValueVariationPoint.bindingTime";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="BLUEPRINT-VALUE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This represents a description that documents how the value shall be defined when deriving objects from the blueprint.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="AttributeValueVariationPoint.blueprintValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SD" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This special data is provided to allow synchronization of Attribute value variation points with variant management systems. The usage is subject of agreement between the involved parties.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="AttributeValueVariationPoint.sd";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHORT-LABEL" type="AR:PRIMITIVE-IDENTIFIER--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This allows to identify the variation point. It is also intended to allow RTE support for CompileTime Variation points.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="AttributeValueVariationPoint.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class DataPrototypes::AutosarDataPrototype -->
   <xsd:group name="AUTOSAR-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Base class for prototypical roles of an AutosarDataType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-TREF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataPrototype.type";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Datatypes::AutosarDataType -->
   <xsd:group name="AUTOSAR-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>Abstract base class for user defined AUTOSAR data types for ECU software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>The properties of this AutosarDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataType.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="AUTOSAR-DATA-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-TYPE"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Datatypes::AutosarDataTypeRefConditional -->
   <xsd:group name="AUTOSAR-DATA-TYPE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOSAR-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataTypeRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Datatypes::AutosarDataTypeRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR-DATA-TYPE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:AUTOSAR-DATA-TYPE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EngineeringObject::AutosarEngineeringObject -->
   <xsd:group name="AUTOSAR-ENGINEERING-OBJECT">
      <xsd:annotation>
         <xsd:documentation>This denotes an engineering object being part of the process. It is a specialization of the abstract class EngineeringObject for usage within AUTOSAR.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarEngineeringObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class EngineeringObject::AutosarEngineeringObject -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR-ENGINEERING-OBJECT">
      <xsd:annotation>
         <xsd:documentation>This denotes an engineering object being part of the process. It is a specialization of the abstract class EngineeringObject for usage within AUTOSAR.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarEngineeringObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ENGINEERING-OBJECT"/>
         <xsd:group ref="AR:AUTOSAR-ENGINEERING-OBJECT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefsUsage::AutosarOperationArgumentInstance -->
   <xsd:group name="AUTOSAR-OPERATION-ARGUMENT-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to an argument instance. This way it is possible to reference an argument instance in the occurrence expression formula. The argument instance can target to one of the following arguments:

* a whole argument used in an operation of a PortPrototype with ClientServerInterface

* an element inside of a composite argument used in an operation of a PortPrototype with ClientServerInterface</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarOperationArgumentInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-ARGUMENT-INSTANCE-IREF" type="AR:OPERATION-ARGUMENT-IN-COMPONENT-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the reference to the instanceRef definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarOperationArgumentInstance.operationArgumentInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarOperationArgumentInstance.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefsUsage::AutosarOperationArgumentInstance -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR-OPERATION-ARGUMENT-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to an argument instance. This way it is possible to reference an argument instance in the occurrence expression formula. The argument instance can target to one of the following arguments:

* a whole argument used in an operation of a PortPrototype with ClientServerInterface

* an element inside of a composite argument used in an operation of a PortPrototype with ClientServerInterface</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarOperationArgumentInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:AUTOSAR-OPERATION-ARGUMENT-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="AUTOSAR-OPERATION-ARGUMENT-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AUTOSAR-OPERATION-ARGUMENT-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataElements::AutosarParameterRef -->
   <xsd:group name="AUTOSAR-PARAMETER-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to a parameter within AUTOSAR which can be one of the following use cases:

localParameter:

* localParameter which is used as whole (e.g.  sharedAxis for curve)

autosarVariable:

* a parameter provided via PortPrototype which is used as whole (e.g. parameterAccess)

* an element inside of a composite local parameter typed by ApplicationDatatype (e.g. sharedAxis for a curve)

* an element inside of a composite parameter provided via Port and typed by ApplicationDatatype (e.g. sharedAxis for a curve)

autosarParameterInImplDatatype:

* an element inside of a composite local parameter typed by ImplementationDatatype

* an element inside of a composite parameter provided via PortPrototype and typed by ImplementationDatatype</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarParameterRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOSAR-PARAMETER-IREF" type="AR:PARAMETER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This instance reference is used if the callibration parameter is either imported via a port or is part of a composite data structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarParameterRef.autosarParameter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOCAL-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>In the majority of cases this reference goes to ParameterDataPrototyoes rather than VariableDataPrototypes. Pointing the reference to a VariableDataPrototype is limited to special use cases, e.g. if the AutosarParameterRef is used in the context of an SwAxisGrouped.

This reference is used if the arParameter is local to the current component. 

Of course, it would technically also be feasible to use an InstanceRef for this case. However, the InstanceRef would not have a contextElement (because the cureent instance is the context).

Hence, the local instance is a special case which may provide further optimization. Therefore an explicit reference is provided for this case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarParameterRef.localParameter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataElements::AutosarParameterRef -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR-PARAMETER-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to a parameter within AUTOSAR which can be one of the following use cases:

localParameter:

* localParameter which is used as whole (e.g.  sharedAxis for curve)

autosarVariable:

* a parameter provided via PortPrototype which is used as whole (e.g. parameterAccess)

* an element inside of a composite local parameter typed by ApplicationDatatype (e.g. sharedAxis for a curve)

* an element inside of a composite parameter provided via Port and typed by ApplicationDatatype (e.g. sharedAxis for a curve)

autosarParameterInImplDatatype:

* an element inside of a composite local parameter typed by ImplementationDatatype

* an element inside of a composite parameter provided via PortPrototype and typed by ImplementationDatatype</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarParameterRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:AUTOSAR-PARAMETER-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefsUsage::AutosarVariableInstance -->
   <xsd:group name="AUTOSAR-VARIABLE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to a variable instance within AUTOSAR. This way it is possible to reference a variable instance in the occurrence expression formula. The variable instance can target to one of the following variables:

* a variable provided via a PortPrototype as whole

* an element inside of a composite variable provided via a PortPrototype</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-INSTANCE-IREF" type="AR:VARIABLE-IN-COMPONENT-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the reference to the instanceRef definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableInstance.variableInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableInstance.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefsUsage::AutosarVariableInstance -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR-VARIABLE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to a variable instance within AUTOSAR. This way it is possible to reference a variable instance in the occurrence expression formula. The variable instance can target to one of the following variables:

* a variable provided via a PortPrototype as whole

* an element inside of a composite variable provided via a PortPrototype</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:AUTOSAR-VARIABLE-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="AUTOSAR-VARIABLE-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AUTOSAR-VARIABLE-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataElements::AutosarVariableRef -->
   <xsd:group name="AUTOSAR-VARIABLE-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to a variable within AUTOSAR which can be one of the following use cases:

localVariable:

* localVariable which is used as whole (e.g. InterRunnableVariable, inputValue for curve)

autosarVariable:

* a variable provided via Port which is used as whole (e.g. dataAccesspoints)

* an element inside of a composite local variable typed by ApplicationDatatype (e.g. inputValue for a curve)

* an element inside of a composite variable provided via Port and typed by ApplicationDatatype (e.g. inputValue for a curve)

autosarVariableInImplDatatype:

* an element inside of a composite local variable typed by ImplementationDatatype  (e.g. nvramData mapping)

* an element inside of a composite variable provided via Port and typed by ImplementationDatatype (e.g. inputValue for a curve)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOSAR-VARIABLE-IN-IMPL-DATATYPE" type="AR:AR-VARIABLE-IN-IMPLEMENTATION-DATA-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This is used if the target variable is inside of variableDataPrototype typed by an ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableRef.autosarVariableInImplDatatype";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOSAR-VARIABLE-IREF" type="AR:VARIABLE-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This references a variable which is provided by a port and/or which is part of a CompositeDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableRef.autosarVariable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOCAL-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is used if the variable is local to the current component. It would also be possible to use the instance refence here.
Such an instance ref would not have a contextElement, since the current instance is the context.
But the local instance is a special case which may provide further optimization. Therefore an expclicit reference is provided for this case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableRef.localVariable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataElements::AutosarVariableRef -->
   <xsd:complexType abstract="false" mixed="false" name="AUTOSAR-VARIABLE-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents a reference to a variable within AUTOSAR which can be one of the following use cases:

localVariable:

* localVariable which is used as whole (e.g. InterRunnableVariable, inputValue for curve)

autosarVariable:

* a variable provided via Port which is used as whole (e.g. dataAccesspoints)

* an element inside of a composite local variable typed by ApplicationDatatype (e.g. inputValue for a curve)

* an element inside of a composite variable provided via Port and typed by ApplicationDatatype (e.g. inputValue for a curve)

autosarVariableInImplDatatype:

* an element inside of a composite local variable typed by ImplementationDatatype  (e.g. nvramData mapping)

* an element inside of a composite variable provided via Port and typed by ImplementationDatatype (e.g. inputValue for a curve)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutosarVariableRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:AUTOSAR-VARIABLE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::BackgroundEvent -->
   <xsd:group name="BACKGROUND-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is used to trigger RunnableEntities that are supposed to be executed in the background.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BackgroundEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RTEEvents::BackgroundEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BACKGROUND-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is used to trigger RunnableEntities that are supposed to be executed in the background.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BackgroundEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:BACKGROUND-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BaseTypes::BaseType -->
   <xsd:group name="BASE-TYPE">
      <xsd:annotation>
         <xsd:documentation>This abstract meta-class represents the ability to specify a platform dependant base type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BaseType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:BASE-TYPE-DIRECT-DEFINITION"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BaseTypes::BaseTypeDefinition -->
   <xsd:group name="BASE-TYPE-DEFINITION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a basetype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDefinition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class BaseTypes::BaseTypeDirectDefinition -->
   <xsd:group name="BASE-TYPE-DIRECT-DEFINITION">
      <xsd:annotation>
         <xsd:documentation>This BaseType is defined directly (as opposite to a derived BaseType)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-TYPE-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the length of the data type specified in the container in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition.baseTypeSize";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-BASE-TYPE-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the maximum length of the BaseType in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition.maxBaseTypeSize";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-TYPE-ENCODING" type="AR:BASE-TYPE-ENCODING-STRING">
            <xsd:annotation>
               <xsd:documentation>This specifies, how an object of the current BaseType is encoded, e.g. in an ECU within a message sequence.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition.baseTypeEncoding";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEM-ALIGNMENT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the alignment of the memory object in bits. E.g. "8" specifies, that the object in question is aligned to a byte while "32" specifies that it is aligned four byte. If the value is set to "0" the meaning shall be interpreted as "unspecified".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition.memAlignment";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the byte order of the base type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition.byteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="110"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NATIVE-DECLARATION" type="AR:NATIVE-DECLARATION-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the declaration of such a base type in the native programming language, primarily in the Programming language C. This can then be used by a code generator to include the necessary declarations into a header file. For example

BaseType with
   shortName: "MyUnsignedInt"
   nativeDeclaration: "unsigned short"

Results in

  typedef unsigned short MyUnsignedInt;

If the attribute is not defined the referring ImplementationDataTypes will not be generated as a typedef by RTE.

If a nativeDeclaration type is given it shall fulfill the characteristic given by basetypeEncoding and baseTypeSize.

This is required to ensure the consistent handling and interpretation by software components, RTE, COM and MCM systems.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition.nativeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="120"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BaseTypes::BaseTypeDirectDefinition -->
   <xsd:complexType abstract="false" mixed="false" name="BASE-TYPE-DIRECT-DEFINITION">
      <xsd:annotation>
         <xsd:documentation>This BaseType is defined directly (as opposite to a derived BaseType)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeDirectDefinition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BASE-TYPE-DEFINITION"/>
         <xsd:group ref="AR:BASE-TYPE-DIRECT-DEFINITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataExchangePoint::Baseline -->
   <xsd:group name="BASELINE">
      <xsd:annotation>
         <xsd:documentation>Specification of the baseline of the AUTOSAR standard this Data Exchange Point relates to. The baseline is specified by listing the AUTOSAR products and their revisions. Custom defined functionality and deviations to the standard can be provided as well. 
All references to specification elements in this Data Exchange Point refer to specification elements that are part of this specification baseline.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Baseline"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="STANDARD-REVISIONS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="STANDARD-REVISION" type="AR:STANDARD-REVISION-LABEL-STRING">
                     <xsd:annotation>
                        <xsd:documentation>Specifies a combination of revisions of AUTOSAR standards that are used as the specification baseline of this Data Exchange Point. All standard specification elements that are referenced by this Profile of Data Exchange Point have to be part of specifications that belong to the defined AUTOSAR standards.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="Baseline.standardRevision";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-SPECIFICATION-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference tof custom specifications that extend this baseline,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Baseline.customSpecification";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CUSTOM-SPECIFICATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DOCUMENTATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-SDG-DEF-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to custom SdgDefs that extend the data format of this baseline,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Baseline.customSdgDef";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CUSTOM-SDG-DEF-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SDG-DEF--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataExchangePoint::Baseline -->
   <xsd:complexType abstract="false" mixed="false" name="BASELINE">
      <xsd:annotation>
         <xsd:documentation>Specification of the baseline of the AUTOSAR standard this Data Exchange Point relates to. The baseline is specified by listing the AUTOSAR products and their revisions. Custom defined functionality and deviations to the standard can be provided as well. 
All references to specification elements in this Data Exchange Point refer to specification elements that are part of this specification baseline.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Baseline"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BASELINE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BlueprintFormula::BlueprintFormula -->
   <xsd:group name="BLUEPRINT-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This class express the extension of the Formula Language to provide formalized blueprint-Value resp. blueprintCondition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="ECUC-QUERY-REF">
               <xsd:annotation>
                  <xsd:documentation>The EcucQuery serves as a argument for the formula.</xsd:documentation>
                  <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="BlueprintFormula.ecucQuery";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-QUERY--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="ECUC-REF">
               <xsd:annotation>
                  <xsd:documentation>The EcucDefinitionElement serves as a argument for the formular.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintFormula.ecuc";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-DEFINITION-ELEMENT--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="VERBATIM" type="AR:MULTI-LANGUAGE-VERBATIM">
               <xsd:annotation>
                  <xsd:documentation>This represents an informal term in the expression as verbatim text. Note that the result of this is same as formula keyword "undefined".</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintFormula.verbatim";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class BlueprintFormula::BlueprintFormula -->
   <xsd:complexType abstract="false" mixed="true" name="BLUEPRINT-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This class express the extension of the Formula Language to provide formalized blueprint-Value resp. blueprintCondition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:BLUEPRINT-FORMULA"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GenericBlueprint::BlueprintMapping -->
   <xsd:group name="BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map two an object and its blueprint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the mapped blueprint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintMapping.blueprint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ATP-BLUEPRINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DERIVED-OBJECT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the object which was derived from the blueprint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintMapping.derivedObject";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ATP-BLUEPRINTABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GenericBlueprint::BlueprintMapping -->
   <xsd:complexType abstract="false" mixed="false" name="BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map two an object and its blueprint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT-MAPPING"/>
         <xsd:group ref="AR:BLUEPRINT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BlueprintMapping::BlueprintMappingSet -->
   <xsd:group name="BLUEPRINT-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This represents a container of mappings between "actual" model elements and the "blueprint" that has been taken for their creation.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BlueprintMappingSets";mmt.qualifiedName="BlueprintMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-MAPS">
            <xsd:annotation>
               <xsd:documentation>This represents a particular blueprint map in the set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintMappingSet.blueprintMap";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BLUEPRINT-MAPPING" type="AR:BLUEPRINT-MAPPING"/>
                  <xsd:element name="PORT-INTERFACE-BLUEPRINT-MAPPING" type="AR:PORT-INTERFACE-BLUEPRINT-MAPPING"/>
                  <xsd:element name="PORT-PROTOTYPE-BLUEPRINT-MAPPING" type="AR:PORT-PROTOTYPE-BLUEPRINT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BlueprintMapping::BlueprintMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="BLUEPRINT-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This represents a container of mappings between "actual" model elements and the "blueprint" that has been taken for their creation.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BlueprintMappingSets";mmt.qualifiedName="BlueprintMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:BLUEPRINT-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class AbstractBlueprintStructure::BlueprintPolicy -->
   <xsd:group name="BLUEPRINT-POLICY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate whether blueprintable elements will be modifiable or not modifiable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ATTRIBUTE-NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This identifies the related attribute of a BlueprintPolicy. For navigation over the model a subset of xpath expressions is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicy.attributeName";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AbstractBlueprintStructure::BlueprintPolicyList -->
   <xsd:group name="BLUEPRINT-POLICY-LIST">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is modifiable during the blueprinting. It applies only to attribute with upper multiplicity greater than 1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-ELEMENTS" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Maximum number of elements in list. If the maximum number is not constraint it shall be set to "undefined".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyList.maxNumberOfElements";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-NUMBER-OF-ELEMENTS" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Minimum number of elements in the list. If the minimum number is not constraint it shall be set to "undefined".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyList.minNumberOfElements";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AbstractBlueprintStructure::BlueprintPolicyList -->
   <xsd:complexType abstract="false" mixed="false" name="BLUEPRINT-POLICY-LIST">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is modifiable during the blueprinting. It applies only to attribute with upper multiplicity greater than 1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY-MODIFIABLE"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY-LIST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AbstractBlueprintStructure::BlueprintPolicyModifiable -->
   <xsd:group name="BLUEPRINT-POLICY-MODIFIABLE">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is modifiable during the blueprinting.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyModifiable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-DERIVATION-GUIDE" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This role offers the possibility to give addtional information to the policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyModifiable.blueprintDerivationGuide";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class AbstractBlueprintStructure::BlueprintPolicyNotModifiable -->
   <xsd:group name="BLUEPRINT-POLICY-NOT-MODIFIABLE">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is not modifiable during the blueprinting.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyNotModifiable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AbstractBlueprintStructure::BlueprintPolicyNotModifiable -->
   <xsd:complexType abstract="false" mixed="false" name="BLUEPRINT-POLICY-NOT-MODIFIABLE">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is not modifiable during the blueprinting.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicyNotModifiable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY-NOT-MODIFIABLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AbstractBlueprintStructure::BlueprintPolicySingle -->
   <xsd:group name="BLUEPRINT-POLICY-SINGLE">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is modifiable during the blueprinting. It applies only to attribute with upper multiplicity equal 1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicySingle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AbstractBlueprintStructure::BlueprintPolicySingle -->
   <xsd:complexType abstract="false" mixed="false" name="BLUEPRINT-POLICY-SINGLE">
      <xsd:annotation>
         <xsd:documentation>The class represents that the related attribute is modifiable during the blueprinting. It applies only to attribute with upper multiplicity equal 1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BlueprintPolicySingle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY-MODIFIABLE"/>
         <xsd:group ref="AR:BLUEPRINT-POLICY-SINGLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AttributeValueVariationPoints::BooleanValueVariationPoint -->
   <xsd:group name="BOOLEAN-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Boolean attributes.

Note that this class might be used in the extended meta-model on</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BooleanValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::BooleanValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="BOOLEAN-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Boolean attributes.

Note that this class might be used in the extended meta-model on</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BooleanValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:BOOLEAN-VALUE-VARIATION-POINT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::Br -->
   <xsd:group name="BR">
      <xsd:annotation>
         <xsd:documentation>This element is the same as function here as in a HTML document i.e. it forces a line break.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Br"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class InlineTextElements::Br -->
   <xsd:complexType abstract="false" mixed="false" name="BR">
      <xsd:annotation>
         <xsd:documentation>This element is the same as function here as in a HTML document i.e. it forces a line break.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Br"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswApiOptions -->
   <xsd:group name="BSW-API-OPTIONS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define options for the definition of the signature of function prototypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswApiOptions"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-TAKE-ADDRESS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true, the BSW Module is able to use the API reference for deriving a pointer to an object</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswApiOptions.enableTakeAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BswBehavior::BswAsynchronousServerCallPoint -->
   <xsd:group name="BSW-ASYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents an asynchronous procedure call point via the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The entry to be called.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallPoint.calledEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-CLIENT-SERVER-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswAsynchronousServerCallPoint -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-ASYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents an asynchronous procedure call point via the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-MODULE-CALL-POINT"/>
         <xsd:group ref="AR:BSW-ASYNCHRONOUS-SERVER-CALL-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-ASYNCHRONOUS-SERVER-CALL-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswAsynchronousServerCallResultPoint -->
   <xsd:group name="BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT">
      <xsd:annotation>
         <xsd:documentation>The callback point for an BswAsynchronousServerCallPoint i.e. the point at which the result can be retrieved from the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallResultPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASYNCHRONOUS-SERVER-CALL-POINT-REF">
            <xsd:annotation>
               <xsd:documentation>The call point invoking the call to which the result belongs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallResultPoint.asynchronousServerCallPoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-ASYNCHRONOUS-SERVER-CALL-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswAsynchronousServerCallResultPoint -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT">
      <xsd:annotation>
         <xsd:documentation>The callback point for an BswAsynchronousServerCallPoint i.e. the point at which the result can be retrieved from the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallResultPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-MODULE-CALL-POINT"/>
         <xsd:group ref="AR:BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswAsynchronousServerCallReturnsEvent -->
   <xsd:group name="BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This is the "callback" event for asynchronous Client-Server-Communication via the BSW Scheduler which is thrown after completion of the asynchronous Client-Server call.

Its eventSource specifies the call point to be used for retrieving the result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallReturnsEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The call point to be used for retrieving the result.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallReturnsEvent.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswAsynchronousServerCallReturnsEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This is the "callback" event for asynchronous Client-Server-Communication via the BSW Scheduler which is thrown after completion of the asynchronous Client-Server call.

Its eventSource specifies the call point to be used for retrieving the result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswAsynchronousServerCallReturnsEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswBackgroundEvent -->
   <xsd:group name="BSW-BACKGROUND-EVENT">
      <xsd:annotation>
         <xsd:documentation>A recurring BswEvent which is used to perform background activities. It is similar to a BswTimingEvent but has no fixed time period and is activated only with low priority.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswBackgroundEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswBackgroundEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-BACKGROUND-EVENT">
      <xsd:annotation>
         <xsd:documentation>A recurring BswEvent which is used to perform background activities. It is similar to a BswTimingEvent but has no fixed time period and is activated only with low priority.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswBackgroundEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-BACKGROUND-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswCalledEntity -->
   <xsd:group name="BSW-CALLED-ENTITY">
      <xsd:annotation>
         <xsd:documentation>BSW module entity which is designed to be called from another BSW module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswCalledEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswCalledEntity -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-CALLED-ENTITY">
      <xsd:annotation>
         <xsd:documentation>BSW module entity which is designed to be called from another BSW module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswCalledEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTABLE-ENTITY"/>
         <xsd:group ref="AR:BSW-MODULE-ENTITY"/>
         <xsd:group ref="AR:BSW-CALLED-ENTITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswClientPolicy -->
   <xsd:group name="BSW-CLIENT-POLICY">
      <xsd:annotation>
         <xsd:documentation>The requiredClientServerEntry for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswClientPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-CLIENT-SERVER-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The requiredClientServerEntry for which the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswClientPolicy.requiredClientServerEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-CLIENT-SERVER-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswClientPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswClientPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-CLIENT-POLICY">
      <xsd:annotation>
         <xsd:documentation>The requiredClientServerEntry for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswClientPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-CLIENT-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswDataReceivedEvent -->
   <xsd:group name="BSW-DATA-RECEIVED-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is thrown on reception of the referenced data via Sender-Receiver-Communication over the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDataReceivedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-REF">
            <xsd:annotation>
               <xsd:documentation>The received data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDataReceivedEvent.data";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswDataReceivedEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-DATA-RECEIVED-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is thrown on reception of the referenced data via Sender-Receiver-Communication over the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDataReceivedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-DATA-RECEIVED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswDataReceptionPolicy -->
   <xsd:group name="BSW-DATA-RECEPTION-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies the reception policy for the referred data in sender-receiver communication over the BSW Scheduler. To be used for inter-partition and/or inter-core communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDataReceptionPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVED-DATA-REF">
            <xsd:annotation>
               <xsd:documentation>The data received over the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDataReceptionPolicy.receivedData";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDataReceptionPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BswBehavior::BswDataSendPolicy -->
   <xsd:group name="BSW-DATA-SEND-POLICY">
      <xsd:annotation>
         <xsd:documentation>The data sent over the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDataSendPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIEDE-DATA-REF">
            <xsd:annotation>
               <xsd:documentation>The data sent over the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDataSendPolicy.proviedeData";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDataSendPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswDataSendPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-DATA-SEND-POLICY">
      <xsd:annotation>
         <xsd:documentation>The data sent over the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDataSendPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-DATA-SEND-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswImplementation::BswDebugInfo -->
   <xsd:group name="BSW-DEBUG-INFO">
      <xsd:annotation>
         <xsd:documentation>Collects the information on the data provided to the AUTOSAR debug module.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="BswDebugInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOCAL-DEBUG-DATAS">
            <xsd:annotation>
               <xsd:documentation>A data element declared locally to this module, cluster or library. It shall be used (within AUTOSAR) only for debugging purposes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDebugInfo.localDebugData";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE-ELEMENT" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-ACCESSED-FOR-DEBUG-REFS">
            <xsd:annotation>
               <xsd:documentation>Indicates a parameter as to be debugged.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDebugInfo.parameterAccessedForDebug";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-ACCESSED-FOR-DEBUG-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-ACCESSED-FOR-DEBUG-REFS">
            <xsd:annotation>
               <xsd:documentation>Indicates a variable as to be debugged.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDebugInfo.variableAccessedForDebug";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESSED-FOR-DEBUG-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDebugInfo.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswImplementation::BswDebugInfo -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-DEBUG-INFO">
      <xsd:annotation>
         <xsd:documentation>Collects the information on the data provided to the AUTOSAR debug module.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="BswDebugInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:BSW-DEBUG-INFO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswDirectCallPoint -->
   <xsd:group name="BSW-DIRECT-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents a concrete point in the code from where a BswModuleEntry is called directly, i.e. not via the BSW Scheduler. 

This information can be used to analyze call tree and resource locking scenarios. It is not needed to configure the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDirectCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The BswModuleEntry called at this point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDirectCallPoint.calledEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-FROM-WITHIN-EXCLUSIVE-AREA-REF">
            <xsd:annotation>
               <xsd:documentation>This indicates that the call point is located at the deepest level inside one or more ExclusiveAreas that are nested in the given order.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDirectCallPoint.calledFromWithinExclusiveArea";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA-NESTING-ORDER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswDirectCallPoint -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-DIRECT-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents a concrete point in the code from where a BswModuleEntry is called directly, i.e. not via the BSW Scheduler. 

This information can be used to analyze call tree and resource locking scenarios. It is not needed to configure the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDirectCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-MODULE-CALL-POINT"/>
         <xsd:group ref="AR:BSW-DIRECT-CALL-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswDistinguishedPartition -->
   <xsd:group name="BSW-DISTINGUISHED-PARTITION">
      <xsd:annotation>
         <xsd:documentation>Each instance of this meta-class represents an abstract partition in which context the code of the enclosing  BswModuleBehavior can be executed.

The intended use case is to distinguish between several partitions in order to implement different behavior per partition, for example to behave either as a master or satellite in a multicore ECU with shared BSW code.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDistinguishedPartition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswDistinguishedPartition.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswDistinguishedPartition -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-DISTINGUISHED-PARTITION">
      <xsd:annotation>
         <xsd:documentation>Each instance of this meta-class represents an abstract partition in which context the code of the enclosing  BswModuleBehavior can be executed.

The intended use case is to distinguish between several partitions in order to implement different behavior per partition, for example to behave either as a master or satellite in a multicore ECU with shared BSW code.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswDistinguishedPartition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-DISTINGUISHED-PARTITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-DISTINGUISHED-PARTITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-DISTINGUISHED-PARTITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswInterfaces::BswEntryRelationship -->
   <xsd:group name="BSW-ENTRY-RELATIONSHIP">
      <xsd:annotation>
         <xsd:documentation>Describes a relationship between two BswModuleEntrys and the type of relationship.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationship"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FROM-REF">
            <xsd:annotation>
               <xsd:documentation>Type of relationship that refers to the abstract BswModuleEntry. 
Please notice that in this case the bswEntryRelationshipType shall be set to drivedFrom.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationship.from";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TO-REF">
            <xsd:annotation>
               <xsd:documentation>Type of relationship that refers to the concrete BswModuleEntry</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationship.to";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-ENTRY-RELATIONSHIP-TYPE" type="AR:BSW-ENTRY-RELATIONSHIP-ENUM">
            <xsd:annotation>
               <xsd:documentation>Denotes the type of the relationship.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationship.bswEntryRelationshipType";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswInterfaces::BswEntryRelationship -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-ENTRY-RELATIONSHIP">
      <xsd:annotation>
         <xsd:documentation>Describes a relationship between two BswModuleEntrys and the type of relationship.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationship"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-ENTRY-RELATIONSHIP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswInterfaces::BswEntryRelationshipSet -->
   <xsd:group name="BSW-ENTRY-RELATIONSHIP-SET">
      <xsd:annotation>
         <xsd:documentation>Describes a set of relationships between two BswModuleEntrys.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswEntryRelationshipSets";mmt.qualifiedName="BswEntryRelationshipSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-ENTRY-RELATIONSHIPS">
            <xsd:annotation>
               <xsd:documentation>Relationship between two BswModuleEntrys.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationshipSet.bswEntryRelationship";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-ENTRY-RELATIONSHIP" type="AR:BSW-ENTRY-RELATIONSHIP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswInterfaces::BswEntryRelationshipSet -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-ENTRY-RELATIONSHIP-SET">
      <xsd:annotation>
         <xsd:documentation>Describes a set of relationships between two BswModuleEntrys.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswEntryRelationshipSets";mmt.qualifiedName="BswEntryRelationshipSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:BSW-ENTRY-RELATIONSHIP-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswEvent -->
   <xsd:group name="BSW-EVENT">
      <xsd:annotation>
         <xsd:documentation>Base class of various kinds of events which are used to trigger a BswModuleEntity of this BSW module or cluster. The event is local to the BSW module or cluster. The short name of the meta-class instance is intended as an input to configure the required API of the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-LIMITATION-REFS">
            <xsd:annotation>
               <xsd:documentation>The existence of this reference indicates that the usage of the event is limited to the context of the referred BswDistinguishedPartitions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEvent.contextLimitation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTEXT-LIMITATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BSW-DISTINGUISHED-PARTITION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISABLED-IN-MODE-IREFS">
            <xsd:annotation>
               <xsd:documentation>The modes, in which this event is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="disabledInMode";mmt.qualifiedName="BswEvent.disabledInMode";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DISABLED-IN-MODE-IREF" type="AR:MODE-IN-BSW-MODULE-DESCRIPTION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STARTS-ON-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>The entity which is started by the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEvent.startsOnEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswEvent.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BswBehavior::BswExclusiveAreaPolicy -->
   <xsd:group name="BSW-EXCLUSIVE-AREA-POLICY">
      <xsd:annotation>
         <xsd:documentation>The ExclusiveArea for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswExclusiveAreaPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="API-PRINCIPLE" type="AR:API-PRINCIPLE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies for this ExclusiveArea if either one common set of Enter and Exit APIs for the whole BSW module is requested from the SchM or if the set of Enter and Exit APIs is expected per BswModuleEntity.
The default value is "common".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswExclusiveAreaPolicy.apiPrinciple";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-REF">
            <xsd:annotation>
               <xsd:documentation>The ExclusiveArea for which the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswExclusiveAreaPolicy.exclusiveArea";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswExclusiveAreaPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswExclusiveAreaPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-EXCLUSIVE-AREA-POLICY">
      <xsd:annotation>
         <xsd:documentation>The ExclusiveArea for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswExclusiveAreaPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-EXCLUSIVE-AREA-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswExternalTriggerOccurredEvent -->
   <xsd:group name="BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>A BswEvent resulting from a trigger released by another module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswExternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>The trigger associated with this event. The trigger is external to this module.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswExternalTriggerOccurredEvent.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswExternalTriggerOccurredEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>A BswEvent resulting from a trigger released by another module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswExternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswImplementation::BswImplementation -->
   <xsd:group name="BSW-IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>Contains the implementation specific information in addition to the generic specification (BswModuleDescription and BswBehavior).
It is possible to have several different BswImplementations referring to the same BswBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswImplementations";mmt.qualifiedName="BswImplementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-RELEASE-VERSION" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the AUTOSAR Release on which this implementation is based. The numbering contains three levels (major, minor, revision) which are defined by AUTOSAR.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswImplementation.arReleaseVersion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BEHAVIOR-REF">
            <xsd:annotation>
               <xsd:documentation>The behavior of this implementation.

This relation is made as an association because
* it follows the pattern of the SWCT
* since ARElement cannot be splitted, but we want supply the implementation later, the BswImplementation is not aggregated in BswBehavior</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswImplementation.behavior";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-INTERNAL-BEHAVIOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBUG-INFOS">
            <xsd:annotation>
               <xsd:documentation>Collects the debug info for this implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="BswImplementation.debugInfo";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-DEBUG-INFO" type="AR:BSW-DEBUG-INFO"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRECONFIGURED-CONFIGURATION-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the set of preconfigured (i.e. fixed) configuration values for this BswImplementation.

If the BswImplementation represents a cluster of several modules, more than one EcucModuleConfigurationValues element can be referred (at most one per module), otherwise at most one such element can be referred.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswImplementation.preconfiguredConfiguration";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleWrapperElement="true"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PRECONFIGURED-CONFIGURATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-MODULE-CONFIGURATION-VALUES--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECOMMENDED-CONFIGURATION-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to one or more sets of recommended configuration values for this module or module cluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswImplementation.recommendedConfiguration";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECOMMENDED-CONFIGURATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-MODULE-CONFIGURATION-VALUES--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VENDOR-API-INFIX" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>In driver modules which can be instantiated several times on a single ECU, SRS_BSW_00347 requires that the names of files, APIs, published parameters and memory allocation keywords are extended by the vendorId and a vendor specific name. 
This parameter is used to specify the vendor specific name. In total, the implementation specific API name is generated as follows:
&lt;ModuleName&gt;_&lt;vendorId&gt;_ &lt;vendorApiInfix&gt;_&lt;API name from SWS&gt;.

E.g.  assuming that the vendorId of the implementer is 123 and the implementer chose a vendorApiInfix of "v11r456" an API name Can_Write defined in the SWS will translate to Can_123_v11r456_Write. 

This attribute is mandatory for all modules with upper multiplicity &gt; 1. It shall not be used for modules with upper multiplicity =1.

See also SWS_BSW_00102.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswImplementation.vendorApiInfix";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VENDOR-SPECIFIC-MODULE-DEF-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to 

* the vendor specific EcucModuleDef used in this BswImplementation if it represents a single module

* several EcucModuleDefs used in this BswImplementation if it  represents a cluster of modules

* one or no EcucModuleDefs used in this BswImplementation if it represents a library</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswImplementation.vendorSpecificModuleDef";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleWrapperElement="true"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VENDOR-SPECIFIC-MODULE-DEF-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-MODULE-DEF--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswImplementation::BswImplementation -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>Contains the implementation specific information in addition to the generic specification (BswModuleDescription and BswBehavior).
It is possible to have several different BswImplementations referring to the same BswBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswImplementations";mmt.qualifiedName="BswImplementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:IMPLEMENTATION"/>
         <xsd:group ref="AR:BSW-IMPLEMENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-IMPLEMENTATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-IMPLEMENTATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswInternalBehavior -->
   <xsd:group name="BSW-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>Specifies the behavior of a BSW module or a BSW cluster w.r.t. the code entities visible by the BSW Scheduler.
It is possible to have several different BswInternalBehaviors referring to the same BswModuleDescription.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-TYPED-PER-INSTANCE-MEMORYS">
            <xsd:annotation>
               <xsd:documentation>Defines an AUTOSAR typed memory-block that needs to be available for each instance of the Basic Software Module. 
The aggregation of arTypedPerInstanceMemory is subject to variability with the purpose to support variability in the Basic Software Module's implementations. Typically different algorithms in the implementation are requiring different number of memory objects. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.arTypedPerInstanceMemory";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-PER-INSTANCE-MEMORY-POLICYS">
            <xsd:annotation>
               <xsd:documentation>arTypedPerInstanceMemory specific policy
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.bswPerInstanceMemoryPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-PER-INSTANCE-MEMORY-POLICY" type="AR:BSW-PER-INSTANCE-MEMORY-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-POLICYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="clientPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.clientPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-CLIENT-POLICY" type="AR:BSW-CLIENT-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-POLICYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="exclusiveAreaPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.exclusiveAreaPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-EXCLUSIVE-AREA-POLICY" type="AR:BSW-EXCLUSIVE-AREA-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INCLUDED-DATA-TYPE-SETS">
            <xsd:annotation>
               <xsd:documentation>The includedDataTypeSet is used by a basic software module for its implementation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="includedDataTypeSet";mmt.qualifiedName="BswInternalBehavior.includedDataTypeSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INCLUDED-DATA-TYPE-SET" type="AR:INCLUDED-DATA-TYPE-SET"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERNAL-TRIGGERING-POINT-POLICYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="internalTriggeringPointPolicy, variationPoint.shortPoint";mmt.qualifiedName="BswInternalBehavior.internalTriggeringPointPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-INTERNAL-TRIGGERING-POINT-POLICY" type="AR:BSW-INTERNAL-TRIGGERING-POINT-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-POLICYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="parameterPolicy, variatioPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.parameterPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-PARAMETER-POLICY" type="AR:BSW-PARAMETER-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELEASED-TRIGGER-POLICYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="releasedTriggerPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.releasedTriggerPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-RELEASED-TRIGGER-POLICY" type="AR:BSW-RELEASED-TRIGGER-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEND-POLICYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="sendPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.sendPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-DATA-SEND-POLICY" type="AR:BSW-DATA-SEND-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT-PROXYS">
            <xsd:annotation>
               <xsd:documentation>Proxy of a variation points in the C/C++ implementation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="BswInternalBehavior.variationPointProxy";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIATION-POINT-PROXY" type="AR:VARIATION-POINT-PROXY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERNAL-TRIGGERING-POINTS">
            <xsd:annotation>
               <xsd:documentation>An internal triggering point.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.internalTriggeringPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="2"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-INTERNAL-TRIGGERING-POINT" type="AR:BSW-INTERNAL-TRIGGERING-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENTITYS">
            <xsd:annotation>
               <xsd:documentation>A code entity for which the behavior is described
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.entity";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="5"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-CALLED-ENTITY" type="AR:BSW-CALLED-ENTITY"/>
                  <xsd:element name="BSW-INTERRUPT-ENTITY" type="AR:BSW-INTERRUPT-ENTITY"/>
                  <xsd:element name="BSW-SCHEDULABLE-ENTITY" type="AR:BSW-SCHEDULABLE-ENTITY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENTS">
            <xsd:annotation>
               <xsd:documentation>An event required by this module behavior.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.event";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT" type="AR:BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
                  <xsd:element name="BSW-BACKGROUND-EVENT" type="AR:BSW-BACKGROUND-EVENT"/>
                  <xsd:element name="BSW-DATA-RECEIVED-EVENT" type="AR:BSW-DATA-RECEIVED-EVENT"/>
                  <xsd:element name="BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT" type="AR:BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
                  <xsd:element name="BSW-INTERNAL-TRIGGER-OCCURRED-EVENT" type="AR:BSW-INTERNAL-TRIGGER-OCCURRED-EVENT"/>
                  <xsd:element name="BSW-MODE-MANAGER-ERROR-EVENT" type="AR:BSW-MODE-MANAGER-ERROR-EVENT"/>
                  <xsd:element name="BSW-MODE-SWITCH-EVENT" type="AR:BSW-MODE-SWITCH-EVENT"/>
                  <xsd:element name="BSW-MODE-SWITCHED-ACK-EVENT" type="AR:BSW-MODE-SWITCHED-ACK-EVENT"/>
                  <xsd:element name="BSW-OPERATION-INVOKED-EVENT" type="AR:BSW-OPERATION-INVOKED-EVENT"/>
                  <xsd:element name="BSW-TIMING-EVENT" type="AR:BSW-TIMING-EVENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-DIRECT-IMPLEMENTATIONS">
            <xsd:annotation>
               <xsd:documentation>Specifies a trigger to be directly implemented via OS calls.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="triggerDirectImplementation, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.triggerDirectImplementation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="15"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-TRIGGER-DIRECT-IMPLEMENTATION" type="AR:BSW-TRIGGER-DIRECT-IMPLEMENTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-SENDER-POLICYS">
            <xsd:annotation>
               <xsd:documentation>Implementation policy for providing a mode group.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="modeSenderPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.modeSenderPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODE-SENDER-POLICY" type="AR:BSW-MODE-SENDER-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-RECEIVER-POLICYS">
            <xsd:annotation>
               <xsd:documentation>Implementation policy for the reception of mode switches.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="modeReceiverPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.modeReceiverPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="25"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODE-RECEIVER-POLICY" type="AR:BSW-MODE-RECEIVER-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-DEPENDENCYS">
            <xsd:annotation>
               <xsd:documentation>Defines the requirements on AUTOSAR Services for a particular item.

The aggregation is subject to variability with the purpose to support the conditional existence of ServiceNeeds.

The aggregation is splitable in order to support that ServiceNeeds might be provided in later development steps.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="serviceDependency, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.serviceDependency";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="40"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-SERVICE-DEPENDENCY" type="AR:BSW-SERVICE-DEPENDENCY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PER-INSTANCE-PARAMETERS">
            <xsd:annotation>
               <xsd:documentation>Describes a read only memory object containing characteristic value(s)  needed by this BswInternalBehavior. The role name perInstanceParameter is chosen in analogy to the similar role in the context of SwcInternalBehavior.

In contrast to constantMemory, this object is not allocated locally by the module's code, but by the BSW Scheduler and it is accessed from the BSW module via the BSW Scheduler API. The main use case is the support of software emulation of calibration data.

The aggregation is subject to variability with the purpose to support implementation variants.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="atp.Splitkey shortName, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.perInstanceParameter";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="45"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-DATA-PROTOTYPE" type="AR:PARAMETER-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCHEDULER-NAME-PREFIXS">
            <xsd:annotation>
               <xsd:documentation>Optional definition of one or more prefixes to be used for the BswScheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="schedulerNamePrefix, variationPoint.ShortLabel";mmt.qualifiedName="BswInternalBehavior.schedulerNamePrefix";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="50"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-SCHEDULER-NAME-PREFIX" type="AR:BSW-SCHEDULER-NAME-PREFIX"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEPTION-POLICYS">
            <xsd:annotation>
               <xsd:documentation>Data reception policy for inter-partition and/or inter-core communication.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="receptionPolicy, variationPoint.shortLabel";mmt.qualifiedName="BswInternalBehavior.receptionPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="55"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-QUEUED-DATA-RECEPTION-POLICY" type="AR:BSW-QUEUED-DATA-RECEPTION-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISTINGUISHED-PARTITIONS">
            <xsd:annotation>
               <xsd:documentation>Indicates an abstract partition context in which the enclosing BswModuleEntity can be executed.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.ShortLabel";mmt.qualifiedName="BswInternalBehavior.distinguishedPartition";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="60"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-DISTINGUISHED-PARTITION" type="AR:BSW-DISTINGUISHED-PARTITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswInternalBehavior -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>Specifies the behavior of a BSW module or a BSW cluster w.r.t. the code entities visible by the BSW Scheduler.
It is possible to have several different BswInternalBehaviors referring to the same BswModuleDescription.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:INTERNAL-BEHAVIOR"/>
         <xsd:group ref="AR:BSW-INTERNAL-BEHAVIOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-INTERNAL-BEHAVIOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-INTERNAL-BEHAVIOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswInternalTriggerOccurredEvent -->
   <xsd:group name="BSW-INTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>A BswEvent, which can happen sporadically. The event is activated by explicit calls from the module to the BSW Scheduler. The main purpose for such an event is to cause a context switch, e.g. from an ISR context into a task context. Activation and switching are handled within the same module or cluster only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The activation point is the source of this event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggerOccurredEvent.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-INTERNAL-TRIGGERING-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswInternalTriggerOccurredEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-INTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>A BswEvent, which can happen sporadically. The event is activated by explicit calls from the module to the BSW Scheduler. The main purpose for such an event is to cause a context switch, e.g. from an ISR context into a task context. Activation and switching are handled within the same module or cluster only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-INTERNAL-TRIGGER-OCCURRED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswInternalTriggeringPoint -->
   <xsd:group name="BSW-INTERNAL-TRIGGERING-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents the activation point for one or more BswInternalTriggerOccurredEvents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-IMPL-POLICY" type="AR:SW-IMPL-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute, when set to value queued, specifies a queued processing of the internal trigger event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint.swImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswInternalTriggeringPoint -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-INTERNAL-TRIGGERING-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents the activation point for one or more BswInternalTriggerOccurredEvents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:BSW-INTERNAL-TRIGGERING-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-INTERNAL-TRIGGERING-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-INTERNAL-TRIGGERING-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswInternalTriggeringPointPolicy -->
   <xsd:group name="BSW-INTERNAL-TRIGGERING-POINT-POLICY">
      <xsd:annotation>
         <xsd:documentation>The internal triggering point for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPointPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-INTERNAL-TRIGGERING-POINT-REF">
            <xsd:annotation>
               <xsd:documentation>The BswInternalTriggeringPoint for which the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPointPolicy.bswInternalTriggeringPoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-INTERNAL-TRIGGERING-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPointPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswInternalTriggeringPointPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-INTERNAL-TRIGGERING-POINT-POLICY">
      <xsd:annotation>
         <xsd:documentation>The internal triggering point for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPointPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-INTERNAL-TRIGGERING-POINT-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswInternalTriggeringPointRefConditional -->
   <xsd:group name="BSW-INTERNAL-TRIGGERING-POINT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-INTERNAL-TRIGGERING-POINT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-INTERNAL-TRIGGERING-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPointRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswInternalTriggeringPointRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-INTERNAL-TRIGGERING-POINT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-INTERNAL-TRIGGERING-POINT-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswInterruptEntity -->
   <xsd:group name="BSW-INTERRUPT-ENTITY">
      <xsd:annotation>
         <xsd:documentation>BSW module entity, which is designed to be triggered by an interrupt.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInterruptEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERRUPT-CATEGORY" type="AR:BSW-INTERRUPT-CATEGORY">
            <xsd:annotation>
               <xsd:documentation>Category of the interrupt</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInterruptEntity.interruptCategory";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERRUPT-SOURCE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Allows a textual documentation of the intended interrupt source.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswInterruptEntity.interruptSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswInterruptEntity -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-INTERRUPT-ENTITY">
      <xsd:annotation>
         <xsd:documentation>BSW module entity, which is designed to be triggered by an interrupt.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInterruptEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTABLE-ENTITY"/>
         <xsd:group ref="AR:BSW-MODULE-ENTITY"/>
         <xsd:group ref="AR:BSW-INTERRUPT-ENTITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::BswMgrNeeds -->
   <xsd:group name="BSW-MGR-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Basic Software Manager for one "user".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswMgrNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::BswMgrNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MGR-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Basic Software Manager for one "user".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswMgrNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:BSW-MGR-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModeManagerErrorEvent -->
   <xsd:group name="BSW-MODE-MANAGER-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to react on errors occurring during mode handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeManagerErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ModeDeclarationGroupPrototype for which the error behavior of the mode manager applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeManagerErrorEvent.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswModeManagerErrorEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODE-MANAGER-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to react on errors occurring during mode handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeManagerErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-MODE-MANAGER-ERROR-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModeReceiverPolicy -->
   <xsd:group name="BSW-MODE-RECEIVER-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies the details for the reception of a mode switch for the referred mode group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeReceiverPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENHANCED-MODE-API" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This controls the creation of the enhanced mode API that returns information about the previous mode and the next mode. If set to TRUE the enhanced mode API is supposed to be generated. For more details please refer to the SWS_RTE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeReceiverPolicy.enhancedModeApi";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>The required mode group for which the policy is specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeReceiverPolicy.requiredModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORTS-ASYNCHRONOUS-MODE-SWITCH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether the module can handle the reception of an asynchronous mode switch (true) or not (false).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeReceiverPolicy.supportsAsynchronousModeSwitch";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeReceiverPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswModeReceiverPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODE-RECEIVER-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies the details for the reception of a mode switch for the referred mode group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeReceiverPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-MODE-RECEIVER-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModeSenderPolicy -->
   <xsd:group name="BSW-MODE-SENDER-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies the details for the sending of a mode switch for the referred mode group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACK-REQUEST" type="AR:BSW-MODE-SWITCH-ACK-REQUEST">
            <xsd:annotation>
               <xsd:documentation>Request for acknowledgement</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy.ackRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENHANCED-MODE-API" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This controls the creation of the enhanced mode API that returns information about the previous mode and the next mode. If set to TRUE the enhanced mode API is supposed to be generated. For more details please refer to the SWS_RTE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy.enhancedModeApi";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>The provided mode group for which the policy is specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy.providedModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="QUEUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of call queue on the sender side. The queue is implemented by the RTE resp.BswScheduler. The value must be greater or equal to 0. Setting the value of queueLength to 0 implies non-queued communication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy.queueLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswModeSenderPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODE-SENDER-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies the details for the sending of a mode switch for the referred mode group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSenderPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-MODE-SENDER-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModeSwitchAckRequest -->
   <xsd:group name="BSW-MODE-SWITCH-ACK-REQUEST">
      <xsd:annotation>
         <xsd:documentation>Requests acknowledgements that a mode switch has been processed  successfully</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchAckRequest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Number of seconds before an error is reported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchAckRequest.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswModeSwitchAckRequest -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODE-SWITCH-ACK-REQUEST">
      <xsd:annotation>
         <xsd:documentation>Requests acknowledgements that a mode switch has been processed  successfully</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchAckRequest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-MODE-SWITCH-ACK-REQUEST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModeSwitchEvent -->
   <xsd:group name="BSW-MODE-SWITCH-EVENT">
      <xsd:annotation>
         <xsd:documentation>A BswEvent resulting from a mode switch.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTIVATION" type="AR:MODE-ACTIVATION-KIND">
            <xsd:annotation>
               <xsd:documentation>Kind of activation w.r.t. to the referred mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchEvent.activation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to one or two Modes that initiate the Mode Switch Event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchEvent.mode";pureMM.maxOccurs="2";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="MODE-IREF" type="AR:MODE-IN-BSW-MODULE-DESCRIPTION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswModeSwitchEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODE-SWITCH-EVENT">
      <xsd:annotation>
         <xsd:documentation>A BswEvent resulting from a mode switch.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-MODE-SWITCH-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModeSwitchedAckEvent -->
   <xsd:group name="BSW-MODE-SWITCHED-ACK-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised after a switch of the referenced mode group has been acknowledged or an error occurs. The referenced mode group must be provided by this module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchedAckEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>A mode group provided by this module. The acknowledgement of a switch of this group raises this event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchedAckEvent.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswModeSwitchedAckEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODE-SWITCHED-ACK-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised after a switch of the referenced mode group has been acknowledged or an error occurs. The referenced mode group must be provided by this module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModeSwitchedAckEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-MODE-SWITCHED-ACK-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModuleCallPoint -->
   <xsd:group name="BSW-MODULE-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents a point at which a BswModuleEntity handles a procedure call into a BswModuleEntry, either directly or via the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-LIMITATION-REFS">
            <xsd:annotation>
               <xsd:documentation>The existence of this reference indicates that the call point is used only in the context of the referred BswDistinguishedPartitions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleCallPoint.contextLimitation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTEXT-LIMITATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BSW-DISTINGUISHED-PARTITION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleCallPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BswInterfaces::BswModuleClientServerEntry -->
   <xsd:group name="BSW-MODULE-CLIENT-SERVER-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a single API entry into the BSW module or cluster that has the ability to be called in client-server fashion via the BSW Scheduler.

In this regard it is more special than BswModuleEntry and can be seen as a wrapper around the BswModuleEntry to which it refers (property encapsulatedEntry).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswModuleEntrys";mmt.qualifiedName="BswModuleClientServerEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENCAPSULATED-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The underlying BswModuleEntry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleClientServerEntry.encapsulatedEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-REENTRANT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Reentrancy from the viewpoint of clients invoking the service via the BSW Scheduler:

* True: Enables the service to be invoked again, before the service has finished. 

* False: It is prohibited to invoke the service again before is has finished.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleClientServerEntry.isReentrant";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-SYNCHRONOUS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Synchronicity from the viewpoint of clients invoking the service via the BSW Scheduler:

* True: This calls a synchronous service, i.e. the service is completed when the call returns.

* False: The service (on semantical level) may not be complete when the call returns.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleClientServerEntry.isSynchronous";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="15"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleClientServerEntry.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswInterfaces::BswModuleClientServerEntry -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-CLIENT-SERVER-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a single API entry into the BSW module or cluster that has the ability to be called in client-server fashion via the BSW Scheduler.

In this regard it is more special than BswModuleEntry and can be seen as a wrapper around the BswModuleEntry to which it refers (property encapsulatedEntry).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswModuleEntrys";mmt.qualifiedName="BswModuleClientServerEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-MODULE-CLIENT-SERVER-ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-MODULE-CLIENT-SERVER-ENTRY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-MODULE-CLIENT-SERVER-ENTRY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswInterfaces::BswModuleDependency -->
   <xsd:group name="BSW-MODULE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>This class collects the dependencies of a BSW module or cluster on a certain other BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODULE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>AUTOSAR identifier of the target module of which the dependencies are defined. 

This information is optional, because the target module may also be identified by targetModuleRef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDependency.targetModuleId";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODULE-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the target module. It is an &lt;&lt;atpUriDef&gt;&gt; because the reference shall be used to identify the target module without actually needing the description of that target module.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDependency.targetModuleRef";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="7"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-DESCRIPTION-REF-CONDITIONAL" type="AR:BSW-MODULE-DESCRIPTION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>Indicates an entry into another modules which is required by this module.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="requiredEntry, variationPoint.shortLabel ";atp.Status="removed";mmt.qualifiedName="BswModuleDependency.requiredEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXPECTED-CALLBACKS">
            <xsd:annotation>
               <xsd:documentation>Indicates a callback expected to be called from another module and implemented by this module.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="expectedCallback, variationPoint.shortLabel";atp.Status="removed";mmt.qualifiedName="BswModuleDependency.expectedCallback";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="15"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-ITEMS">
            <xsd:annotation>
               <xsd:documentation>A single item (example: Nv block) for which the quality of a service is defined.

The aggregation is marked as &lt;&lt;atpSplitable&gt;&gt; to allow for extension during the ECU configuration process.

This association is deprecated since R4.0.3, since ServiceNeeds shall be associated with the new element BswServiceDependency within the BswInternalBehavior.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";atp.Status="removed";mmt.qualifiedName="BswModuleDependency.serviceItem";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MGR-NEEDS" type="AR:BSW-MGR-NEEDS"/>
                  <xsd:element name="COM-MGR-USER-NEEDS" type="AR:COM-MGR-USER-NEEDS"/>
                  <xsd:element name="CRYPTO-SERVICE-NEEDS" type="AR:CRYPTO-SERVICE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS" type="AR:DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-COMPONENT-NEEDS" type="AR:DIAGNOSTIC-COMPONENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-CONTROL-NEEDS" type="AR:DIAGNOSTIC-CONTROL-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION-NEEDS" type="AR:DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-INFO-NEEDS" type="AR:DIAGNOSTIC-EVENT-INFO-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-MANAGER-NEEDS" type="AR:DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-NEEDS" type="AR:DIAGNOSTIC-EVENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-IO-CONTROL-NEEDS" type="AR:DIAGNOSTIC-IO-CONTROL-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-OPERATION-CYCLE-NEEDS" type="AR:DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS" type="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-ROUTINE-NEEDS" type="AR:DIAGNOSTIC-ROUTINE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION-NEEDS" type="AR:DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-VALUE-NEEDS" type="AR:DIAGNOSTIC-VALUE-NEEDS"/>
                  <xsd:element name="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS" type="AR:DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
                  <xsd:element name="DLT-USER-NEEDS" type="AR:DLT-USER-NEEDS"/>
                  <xsd:element name="DO-IP-ACTIVATION-LINE-NEEDS" type="AR:DO-IP-ACTIVATION-LINE-NEEDS"/>
                  <xsd:element name="DO-IP-GID-NEEDS" type="AR:DO-IP-GID-NEEDS"/>
                  <xsd:element name="DO-IP-GID-SYNCHRONIZATION-NEEDS" type="AR:DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
                  <xsd:element name="DO-IP-POWER-MODE-STATUS-NEEDS" type="AR:DO-IP-POWER-MODE-STATUS-NEEDS"/>
                  <xsd:element name="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS" type="AR:DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
                  <xsd:element name="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS" type="AR:DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
                  <xsd:element name="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS" type="AR:DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
                  <xsd:element name="ECU-STATE-MGR-USER-NEEDS" type="AR:ECU-STATE-MGR-USER-NEEDS"/>
                  <xsd:element name="ERROR-TRACER-NEEDS" type="AR:ERROR-TRACER-NEEDS"/>
                  <xsd:element name="FUNCTION-INHIBITION-NEEDS" type="AR:FUNCTION-INHIBITION-NEEDS"/>
                  <xsd:element name="GLOBAL-SUPERVISION-NEEDS" type="AR:GLOBAL-SUPERVISION-NEEDS"/>
                  <xsd:element name="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS" type="AR:J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
                  <xsd:element name="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS" type="AR:J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
                  <xsd:element name="NV-BLOCK-NEEDS" type="AR:NV-BLOCK-NEEDS"/>
                  <xsd:element name="OBD-CONTROL-SERVICE-NEEDS" type="AR:OBD-CONTROL-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-INFO-SERVICE-NEEDS" type="AR:OBD-INFO-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-MONITOR-SERVICE-NEEDS" type="AR:OBD-MONITOR-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-PID-SERVICE-NEEDS" type="AR:OBD-PID-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-RATIO-SERVICE-NEEDS" type="AR:OBD-RATIO-SERVICE-NEEDS"/>
                  <xsd:element name="SECURE-ON-BOARD-COMMUNICATION-NEEDS" type="AR:SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
                  <xsd:element name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS" type="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
                  <xsd:element name="SUPERVISED-ENTITY-NEEDS" type="AR:SUPERVISED-ENTITY-NEEDS"/>
                  <xsd:element name="SYNC-TIME-BASE-MGR-USER-NEEDS" type="AR:SYNC-TIME-BASE-MGR-USER-NEEDS"/>
                  <xsd:element name="V-2-X-FAC-USER-NEEDS" type="AR:V-2-X-FAC-USER-NEEDS"/>
                  <xsd:element name="V-2-X-M-USER-NEEDS" type="AR:V-2-X-M-USER-NEEDS"/>
                  <xsd:element name="VENDOR-SPECIFIC-SERVICE-NEEDS" type="AR:VENDOR-SPECIFIC-SERVICE-NEEDS"/>
                  <xsd:element name="WARNING-INDICATOR-REQUESTED-BIT-NEEDS" type="AR:WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDependency.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswInterfaces::BswModuleDependency -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>This class collects the dependencies of a BSW module or cluster on a certain other BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:BSW-MODULE-DEPENDENCY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswOverview::BswModuleDescription -->
   <xsd:group name="BSW-MODULE-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>Root element for the description of a single BSW module or BSW cluster.
In case it describes a BSW module, the short name of this element equals the name of the BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswModuleDescriptions";mmt.qualifiedName="BswModuleDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXPECTED-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>Indicates an entry which is required by this module. 
Replacement of outgoingCallback / requiredEntry.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="expectedEntry, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.expectedEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTED-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>Specifies an entry provided by this module which can be called by other modules. This includes "main" functions, interrupt routines, and callbacks.
Replacement of providedEntry / expectedCallback.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="implementedEntry, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.implementedEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODULE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Refers to the BSW Module Identifier defined by the AUTOSAR standard. For non-standardized modules, a proprietary identifier can be optionally chosen.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDescription.moduleId";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-DOCUMENTATIONS">
            <xsd:annotation>
               <xsd:documentation>This adds a documentation to the BSW module.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="bswModuleDocumentation, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.bswModuleDocumentation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="6"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-COMPONENT-DOCUMENTATION" type="AR:SW-COMPONENT-DOCUMENTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>Specifies an entry provided by this module which can be called by other modules. This includes "main" functions and interrupt routines, but not callbacks (because the signature of a callback is defined by the caller).
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="providedEntry, variationPoint.shortLabel";atp.Status="removed";mmt.qualifiedName="BswModuleDescription.providedEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OUTGOING-CALLBACKS">
            <xsd:annotation>
               <xsd:documentation>Specifies a callback, which will be called from this module if required by 
another module.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="outgoingCallback, variationPoint.shortLabel";atp.Status="removed";mmt.qualifiedName="BswModuleDescription.outgoingCallback";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="15"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-DEPENDENCYS">
            <xsd:annotation>
               <xsd:documentation>Describes the dependency to another BSW module.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.bswModuleDependency";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-DEPENDENCY" type="AR:BSW-MODULE-DEPENDENCY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-MODE-GROUPS">
            <xsd:annotation>
               <xsd:documentation>A set of modes which is owned and provided by this module or cluster. It can be connected to the requiredModeGroups of other modules or clusters via the configuration of the BswScheduler. It can also be synchronized with modes provided via ports by an associated ServiceSwComponentType, EcuAbstractionSwComponentType or ComplexDeviceDriverSwComponentType.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.providedModeGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="25"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-GROUP-PROTOTYPE" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-MODE-GROUPS">
            <xsd:annotation>
               <xsd:documentation>Specifies that this module or cluster depends on a certain mode group. The requiredModeGroup is local to  this context and will be connected to the providedModeGroup of another module or cluster via the configuration of the BswScheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.requiredModeGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="30"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-GROUP-PROTOTYPE" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELEASED-TRIGGERS">
            <xsd:annotation>
               <xsd:documentation>A Trigger released by this module or cluster. It can be connected to the requiredTriggers of other modules or clusters via the configuration of the BswScheduler. It can also be synchronized with Triggers provided via ports by an associated ServiceSwComponentType, EcuAbstractionSwComponentType or ComplexDeviceDriverSwComponentType.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.releasedTrigger";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="35"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER" type="AR:TRIGGER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-TRIGGERS">
            <xsd:annotation>
               <xsd:documentation>Specifies that this module or cluster reacts upon an external trigger.This requiredTrigger is declared locally to this context and will be connected to the providedTrigger of another module or cluster via the configuration of the BswScheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.requiredTrigger";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="40"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER" type="AR:TRIGGER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-CLIENT-SERVER-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>Specifies that this module provides a client server entry which can be called from another parition or core.This entry is declared locally to this context and will be connected to the requiredClientServerEntry of another or the same module via the configuration of the BSW Scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.providedClientServerEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="45"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-CLIENT-SERVER-ENTRY" type="AR:BSW-MODULE-CLIENT-SERVER-ENTRY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-CLIENT-SERVER-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>Specifies that this module requires a client server entry which can be implemented on another parition or core.This entry is declared locally to this context and will be connected to the providedClientServerEntry of another or the same module via the configuration of the BSW Scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.requiredClientServerEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="50"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-CLIENT-SERVER-ENTRY" type="AR:BSW-MODULE-CLIENT-SERVER-ENTRY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-DATAS">
            <xsd:annotation>
               <xsd:documentation>Specifies a data prototype provided by this module in order to be read  from another partition or core.The providedData is declared locally to this context and will be connected to the requiredData of another or the same module via the configuration of the BSW Scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.providedData";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="55"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-DATAS">
            <xsd:annotation>
               <xsd:documentation>Specifies a data prototype required by this module in oder to be provided from another partition or core.The requiredData is declared locally to this context and will be connected to the providedData of another or the same module via the configuration of the BswScheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="BswModuleDescription.requiredData";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="60"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERNAL-BEHAVIORS">
            <xsd:annotation>
               <xsd:documentation>The various BswInternalBehaviors associated with a BswModuleDescription can be distributed over several physical files. Therefore the aggregation is &lt;&lt;atpSplitable&gt;&gt;.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="BswModuleDescription.internalBehavior";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="65"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-INTERNAL-BEHAVIOR" type="AR:BSW-INTERNAL-BEHAVIOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswOverview::BswModuleDescription -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>Root element for the description of a single BSW module or BSW cluster.
In case it describes a BSW module, the short name of this element equals the name of the BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswModuleDescriptions";mmt.qualifiedName="BswModuleDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:BSW-MODULE-DESCRIPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-MODULE-DESCRIPTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswOverview::BswModuleDescriptionRefConditional -->
   <xsd:group name="BSW-MODULE-DESCRIPTION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-DESCRIPTION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDescription";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-DESCRIPTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDescriptionRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswOverview::BswModuleDescriptionRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-DESCRIPTION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-MODULE-DESCRIPTION-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswModuleEntity -->
   <xsd:group name="BSW-MODULE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>Specifies the smallest code fragment which can be described for a BSW module or cluster within AUTOSAR.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESSED-MODE-GROUPS">
            <xsd:annotation>
               <xsd:documentation>A mode group which is accessed via API call by this entity. It must be a ModeDeclarationGroupPrototype required by this module or cluster.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.accessedModeGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTIVATION-POINTS">
            <xsd:annotation>
               <xsd:documentation>Activation point used by the module entity to activate one or more internal triggers.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.activationPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-INTERNAL-TRIGGERING-POINT-REF-CONDITIONAL" type="AR:BSW-INTERNAL-TRIGGERING-POINT-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALL-POINTS">
            <xsd:annotation>
               <xsd:documentation>A call point used in the code of this entitiy.

The variablity of this association is especially targeted at debug scenarios: It is possible to have one variant calling into the AUTOSAR debug module and another one which doesn't.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.callPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-ASYNCHRONOUS-SERVER-CALL-POINT" type="AR:BSW-ASYNCHRONOUS-SERVER-CALL-POINT"/>
                  <xsd:element name="BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT" type="AR:BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
                  <xsd:element name="BSW-DIRECT-CALL-POINT" type="AR:BSW-DIRECT-CALL-POINT"/>
                  <xsd:element name="BSW-SYNCHRONOUS-SERVER-CALL-POINT" type="AR:BSW-SYNCHRONOUS-SERVER-CALL-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>The entry of another (or the same) BSW module which is called by this entry (usually via C function call). This information allows to set up a model of call chains.

The variablity of this association is especially targeted at debug scenarios: It is possible to have one variant calling into the AUTOSAR debug module and another one which doesn't.

Note that this relation has been merked as obsolete, since the more powerful definition of a callPoint should be used.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="BswModuleEntity.calledEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-MODULE-ENTRY-REF-CONDITIONAL" type="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-RECEIVE-POINTS">
            <xsd:annotation>
               <xsd:documentation>The data is received via the BSW Scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.dataReceivePoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-VARIABLE-ACCESS" type="AR:BSW-VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-SEND-POINTS">
            <xsd:annotation>
               <xsd:documentation>The data is sent via the BSW Scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.dataSendPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BSW-VARIABLE-ACCESS" type="AR:BSW-VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTED-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The entry which is implemented by this module entity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.implementedEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ISSUED-TRIGGERS">
            <xsd:annotation>
               <xsd:documentation>A trigger issued by this entity via BSW Scheduler API call. It must be a BswTrigger released (i.e. owned) by this module or cluster.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.issuedTrigger";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER-REF-CONDITIONAL" type="AR:TRIGGER-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MANAGED-MODE-GROUPS">
            <xsd:annotation>
               <xsd:documentation>A mode group which is managed by this entity. It must be a ModeDeclarationGroupPrototype provided by this module or cluster.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.managedModeGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCHEDULER-NAME-PREFIX-REF">
            <xsd:annotation>
               <xsd:documentation>A prefix to be used in generated names for the BswModuleScheduler in the context of this BswModuleEntity, for example entry point prototypes, macros for dealing with exclusive areas, header file names.

Details are defined in the SWS RTE.

The prefix supersedes default rules for the prefix of those names.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.schedulerNamePrefix";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-SCHEDULER-NAME-PREFIX--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntity.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="BSW-MODULE-ENTITY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-CALLED-ENTITY"/>
         <xsd:enumeration value="BSW-INTERRUPT-ENTITY"/>
         <xsd:enumeration value="BSW-MODULE-ENTITY"/>
         <xsd:enumeration value="BSW-SCHEDULABLE-ENTITY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswInterfaces::BswModuleEntry -->
   <xsd:group name="BSW-MODULE-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This class represents a single API entry (C-function prototype) into the BSW module or cluster.

The name of the C-function is equal to the short name of this element with one exception: In case of multiple instances of a module on the same CPU, special rules for "infixes" apply, see description of class BswImplementation.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswModuleEntrys";mmt.qualifiedName="BswModuleEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-PROTOTYPE-EMITTER" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to control the generation of function prototypes. If set to "RTE", the RTE generates the  function prototypes in the Module Interlink Header File.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.functionPrototypeEmitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Refers to the service identifier of the Standardized Interfaces of AUTOSAR basic software. For non-standardized interfaces, it can optionally be used for proprietary identification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.serviceId";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Specifies the role of the entry in the given context. It shall be equal to the standardized name of the service call, especially in cases where no ServiceIdentifier is specified, e.g. for callbacks. Note that the ShortName is not always sufficient because it maybe vendor specific (e.g. for callbacks which can have more than one instance).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.role";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-REENTRANT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Reentrancy from the viewpoint of function callers:

* True: Enables the service to be invoked again, before the service has finished.

* False: It is prohibited to invoke the service again before is has finished.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.isReentrant";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="15"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-SYNCHRONOUS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Synchronicity from the viewpoint of function callers:

* True: This calls a synchronous service, i.e. the service is completed when the call returns.

* False: The service (on semantical level) may not be complete when the call returns.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.isSynchronous";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALL-TYPE" type="AR:BSW-CALL-TYPE">
            <xsd:annotation>
               <xsd:documentation>The type of call associated with this service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.callType";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="25"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-CONTEXT" type="AR:BSW-EXECUTION-CONTEXT">
            <xsd:annotation>
               <xsd:documentation>Specifies the execution context which is required (in case of entries into this module) or guaranteed (in case of entries called from this module) for this service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.executionContext";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-SERVICE-IMPL-POLICY" type="AR:SW-SERVICE-IMPL-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Denotes the implementation policy as a standard function call, inline function or macro. This has to be specified on interface level because it determines the signature of the call.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.swServiceImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="35"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-ENTRY-KIND" type="AR:BSW-ENTRY-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This describes whether the entry is concrete or abstract.
If the attribute is missing the entry is considered as concrete.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.bswEntryKind";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RETURN-TYPE" type="AR:SW-SERVICE-ARG">
            <xsd:annotation>
               <xsd:documentation>The return type belonging to this bswModuleEntry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.returnType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>An argument belonging to this BswModuleEntry.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry.argument";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime";xml.sequenceOffset="45"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-SERVICE-ARG" type="AR:SW-SERVICE-ARG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswInterfaces::BswModuleEntry -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This class represents a single API entry (C-function prototype) into the BSW module or cluster.

The name of the C-function is equal to the short name of this element with one exception: In case of multiple instances of a module on the same CPU, special rules for "infixes" apply, see description of class BswImplementation.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BswModuleEntrys";mmt.qualifiedName="BswModuleEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:BSW-MODULE-ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-MODULE-ENTRY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-MODULE-ENTRY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswInterfaces::BswModuleEntryRefConditional -->
   <xsd:group name="BSW-MODULE-ENTRY-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-ENTRY-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntryRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswInterfaces::BswModuleEntryRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-ENTRY-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-MODULE-ENTRY-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::BswModuleTiming -->
   <xsd:group name="BSW-MODULE-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to define timing descriptions and constraints for the BswInternalBehavior of one BSW Module. Thereby, for each BswInternalBehavior a separate timing can be specified.

A constraint defined at this level holds true for all Implementations of that BswInternalBehavior.

TimingDescriptions aggregated by BswModuleTiming are restricted to event chains referring to events which are derived from the class TDEventBswInternalBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="BswModuleTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BEHAVIOR-REF">
            <xsd:annotation>
               <xsd:documentation>This defines the scope of a BswModuleTiming. All corresponding timing descriptions and constraints must be defined within this scope.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswModuleTiming.behavior";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-INTERNAL-BEHAVIOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::BswModuleTiming -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-MODULE-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to define timing descriptions and constraints for the BswInternalBehavior of one BSW Module. Thereby, for each BswInternalBehavior a separate timing can be specified.

A constraint defined at this level holds true for all Implementations of that BswInternalBehavior.

TimingDescriptions aggregated by BswModuleTiming are restricted to event chains referring to events which are derived from the class TDEventBswInternalBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="BswModuleTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TIMING-EXTENSION"/>
         <xsd:group ref="AR:BSW-MODULE-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswOperationInvokedEvent -->
   <xsd:group name="BSW-OPERATION-INVOKED-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is thrown on operation invocation in Client-Server-Communication via the BSW Scheduler. Its "entry" reference provides the BswClientServerEntry that is called subsequently.

Note this event is not needed in case of direct function calls.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswOperationInvokedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The providedClientServerEntry invoked by this event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswOperationInvokedEvent.entry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-CLIENT-SERVER-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswOperationInvokedEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-OPERATION-INVOKED-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is thrown on operation invocation in Client-Server-Communication via the BSW Scheduler. Its "entry" reference provides the BswClientServerEntry that is called subsequently.

Note this event is not needed in case of direct function calls.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswOperationInvokedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-OPERATION-INVOKED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswParameterPolicy -->
   <xsd:group name="BSW-PARAMETER-POLICY">
      <xsd:annotation>
         <xsd:documentation>The perInstanceParameter for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswParameterPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PER-INSTANCE-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>The perInstanceParameter for which the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswParameterPolicy.perInstanceParameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswParameterPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswParameterPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-PARAMETER-POLICY">
      <xsd:annotation>
         <xsd:documentation>The perInstanceParameter for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswParameterPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-PARAMETER-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswPerInstanceMemoryPolicy -->
   <xsd:group name="BSW-PER-INSTANCE-MEMORY-POLICY">
      <xsd:annotation>
         <xsd:documentation>The per-instance memory for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswPerInstanceMemoryPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-TYPED-PER-INSTANCE-MEMORY-REF">
            <xsd:annotation>
               <xsd:documentation>The arTypedPerInstanceMemory for which the BSW Scheduler using this policy</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswPerInstanceMemoryPolicy.arTypedPerInstanceMemory";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswPerInstanceMemoryPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswPerInstanceMemoryPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-PER-INSTANCE-MEMORY-POLICY">
      <xsd:annotation>
         <xsd:documentation>The per-instance memory for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswPerInstanceMemoryPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-PER-INSTANCE-MEMORY-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswQueuedDataReceptionPolicy -->
   <xsd:group name="BSW-QUEUED-DATA-RECEPTION-POLICY">
      <xsd:annotation>
         <xsd:documentation>Reception policy attributes specific for queued receiving.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswQueuedDataReceptionPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="QUEUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of queue for received events.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswQueuedDataReceptionPolicy.queueLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswQueuedDataReceptionPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-QUEUED-DATA-RECEPTION-POLICY">
      <xsd:annotation>
         <xsd:documentation>Reception policy attributes specific for queued receiving.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswQueuedDataReceptionPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-DATA-RECEPTION-POLICY"/>
         <xsd:group ref="AR:BSW-QUEUED-DATA-RECEPTION-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswReleasedTriggerPolicy -->
   <xsd:group name="BSW-RELEASED-TRIGGER-POLICY">
      <xsd:annotation>
         <xsd:documentation>The Trigger for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswReleasedTriggerPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELEASED-TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>The Trigger for which the BSW Scheduler using this policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswReleasedTriggerPolicy.releasedTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswReleasedTriggerPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswReleasedTriggerPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-RELEASED-TRIGGER-POLICY">
      <xsd:annotation>
         <xsd:documentation>The Trigger for which the BSW Scheduler using this policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswReleasedTriggerPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-API-OPTIONS"/>
         <xsd:group ref="AR:BSW-RELEASED-TRIGGER-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswSchedulableEntity -->
   <xsd:group name="BSW-SCHEDULABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>BSW module entity, which is designed for control by the BSW Scheduler. It may for example implement a so-called "main" function.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswSchedulableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswSchedulableEntity -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-SCHEDULABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>BSW module entity, which is designed for control by the BSW Scheduler. It may for example implement a so-called "main" function.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswSchedulableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTABLE-ENTITY"/>
         <xsd:group ref="AR:BSW-MODULE-ENTITY"/>
         <xsd:group ref="AR:BSW-SCHEDULABLE-ENTITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswScheduleEvent -->
   <xsd:group name="BSW-SCHEDULE-EVENT">
      <xsd:annotation>
         <xsd:documentation>BswEvent that is able to start a BswSchedulabeEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswScheduleEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class BswBehavior::BswSchedulerNamePrefix -->
   <xsd:group name="BSW-SCHEDULER-NAME-PREFIX">
      <xsd:annotation>
         <xsd:documentation>A prefix to be used in names of generated code artifacts which make up the interface of a BSW module to the BswScheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswSchedulerNamePrefix"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswSchedulerNamePrefix.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswSchedulerNamePrefix -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-SCHEDULER-NAME-PREFIX">
      <xsd:annotation>
         <xsd:documentation>A prefix to be used in names of generated code artifacts which make up the interface of a BSW module to the BswScheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswSchedulerNamePrefix"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:IMPLEMENTATION-PROPS"/>
         <xsd:group ref="AR:BSW-SCHEDULER-NAME-PREFIX"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-SCHEDULER-NAME-PREFIX--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-SCHEDULER-NAME-PREFIX"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswServiceDependency -->
   <xsd:group name="BSW-SERVICE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>Specialization of ServiceDependency in the context of an BswInternalBehavior. It allows to associate BswModuleEntries and data defined for a BSW module or cluster to a given ServiceNeeds element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:BSW-SERVICE-DEPENDENCY-IDENT">
            <xsd:annotation>
               <xsd:documentation>This adds the ability to become referrable to BswServiceDependency.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="BswServiceDependency.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-DATAS">
            <xsd:annotation>
               <xsd:documentation>Defines the role of an associated data object (owned by this module or cluster) in the context of the ServiceNeeds element.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependency.assignedData";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-DATA-ASSIGNMENT" type="AR:ROLE-BASED-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-ENTRY-ROLES">
            <xsd:annotation>
               <xsd:documentation>Defines the role of an associated BswModuleEntry in the context of the ServiceNeeds element.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="assignedEntryRole, variationPoint.shortLabel";mmt.qualifiedName="BswServiceDependency.assignedEntryRole";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-BSW-MODULE-ENTRY-ASSIGNMENT" type="AR:ROLE-BASED-BSW-MODULE-ENTRY-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-NEEDS">
            <xsd:annotation>
               <xsd:documentation>The associated ServiceNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependency.serviceNeeds";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="BSW-MGR-NEEDS" type="AR:BSW-MGR-NEEDS"/>
                  <xsd:element name="COM-MGR-USER-NEEDS" type="AR:COM-MGR-USER-NEEDS"/>
                  <xsd:element name="CRYPTO-SERVICE-NEEDS" type="AR:CRYPTO-SERVICE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS" type="AR:DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-COMPONENT-NEEDS" type="AR:DIAGNOSTIC-COMPONENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-CONTROL-NEEDS" type="AR:DIAGNOSTIC-CONTROL-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION-NEEDS" type="AR:DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-INFO-NEEDS" type="AR:DIAGNOSTIC-EVENT-INFO-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-MANAGER-NEEDS" type="AR:DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-NEEDS" type="AR:DIAGNOSTIC-EVENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-IO-CONTROL-NEEDS" type="AR:DIAGNOSTIC-IO-CONTROL-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-OPERATION-CYCLE-NEEDS" type="AR:DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS" type="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-ROUTINE-NEEDS" type="AR:DIAGNOSTIC-ROUTINE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION-NEEDS" type="AR:DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-VALUE-NEEDS" type="AR:DIAGNOSTIC-VALUE-NEEDS"/>
                  <xsd:element name="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS" type="AR:DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
                  <xsd:element name="DLT-USER-NEEDS" type="AR:DLT-USER-NEEDS"/>
                  <xsd:element name="DO-IP-ACTIVATION-LINE-NEEDS" type="AR:DO-IP-ACTIVATION-LINE-NEEDS"/>
                  <xsd:element name="DO-IP-GID-NEEDS" type="AR:DO-IP-GID-NEEDS"/>
                  <xsd:element name="DO-IP-GID-SYNCHRONIZATION-NEEDS" type="AR:DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
                  <xsd:element name="DO-IP-POWER-MODE-STATUS-NEEDS" type="AR:DO-IP-POWER-MODE-STATUS-NEEDS"/>
                  <xsd:element name="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS" type="AR:DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
                  <xsd:element name="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS" type="AR:DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
                  <xsd:element name="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS" type="AR:DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
                  <xsd:element name="ECU-STATE-MGR-USER-NEEDS" type="AR:ECU-STATE-MGR-USER-NEEDS"/>
                  <xsd:element name="ERROR-TRACER-NEEDS" type="AR:ERROR-TRACER-NEEDS"/>
                  <xsd:element name="FUNCTION-INHIBITION-NEEDS" type="AR:FUNCTION-INHIBITION-NEEDS"/>
                  <xsd:element name="GLOBAL-SUPERVISION-NEEDS" type="AR:GLOBAL-SUPERVISION-NEEDS"/>
                  <xsd:element name="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS" type="AR:J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
                  <xsd:element name="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS" type="AR:J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
                  <xsd:element name="NV-BLOCK-NEEDS" type="AR:NV-BLOCK-NEEDS"/>
                  <xsd:element name="OBD-CONTROL-SERVICE-NEEDS" type="AR:OBD-CONTROL-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-INFO-SERVICE-NEEDS" type="AR:OBD-INFO-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-MONITOR-SERVICE-NEEDS" type="AR:OBD-MONITOR-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-PID-SERVICE-NEEDS" type="AR:OBD-PID-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-RATIO-SERVICE-NEEDS" type="AR:OBD-RATIO-SERVICE-NEEDS"/>
                  <xsd:element name="SECURE-ON-BOARD-COMMUNICATION-NEEDS" type="AR:SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
                  <xsd:element name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS" type="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
                  <xsd:element name="SUPERVISED-ENTITY-NEEDS" type="AR:SUPERVISED-ENTITY-NEEDS"/>
                  <xsd:element name="SYNC-TIME-BASE-MGR-USER-NEEDS" type="AR:SYNC-TIME-BASE-MGR-USER-NEEDS"/>
                  <xsd:element name="V-2-X-FAC-USER-NEEDS" type="AR:V-2-X-FAC-USER-NEEDS"/>
                  <xsd:element name="V-2-X-M-USER-NEEDS" type="AR:V-2-X-M-USER-NEEDS"/>
                  <xsd:element name="VENDOR-SPECIFIC-SERVICE-NEEDS" type="AR:VENDOR-SPECIFIC-SERVICE-NEEDS"/>
                  <xsd:element name="WARNING-INDICATOR-REQUESTED-BIT-NEEDS" type="AR:WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependency.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswServiceDependency -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-SERVICE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>Specialization of ServiceDependency in the context of an BswInternalBehavior. It allows to associate BswModuleEntries and data defined for a BSW module or cluster to a given ServiceNeeds element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SERVICE-DEPENDENCY"/>
         <xsd:group ref="AR:BSW-SERVICE-DEPENDENCY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceMapping::BswServiceDependencyIdent -->
   <xsd:group name="BSW-SERVICE-DEPENDENCY-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable BswServiceDependency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependencyIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceMapping::BswServiceDependencyIdent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-SERVICE-DEPENDENCY-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable BswServiceDependency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswServiceDependencyIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:IDENT-CAPTION"/>
         <xsd:group ref="AR:BSW-SERVICE-DEPENDENCY-IDENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BSW-SERVICE-DEPENDENCY-IDENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-SERVICE-DEPENDENCY-IDENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BswBehavior::BswSynchronousServerCallPoint -->
   <xsd:group name="BSW-SYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents a synchronous procedure call point via the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswSynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The entry to be called.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswSynchronousServerCallPoint.calledEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-CLIENT-SERVER-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-FROM-WITHIN-EXCLUSIVE-AREA-REF">
            <xsd:annotation>
               <xsd:documentation>This indicates that the call point is located at the deepest level inside one or more ExclusiveAreas that are nested in the given order.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswSynchronousServerCallPoint.calledFromWithinExclusiveArea";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA-NESTING-ORDER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswSynchronousServerCallPoint -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-SYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>Represents a synchronous procedure call point via the BSW Scheduler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswSynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-MODULE-CALL-POINT"/>
         <xsd:group ref="AR:BSW-SYNCHRONOUS-SERVER-CALL-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswTimingEvent -->
   <xsd:group name="BSW-TIMING-EVENT">
      <xsd:annotation>
         <xsd:documentation>A recurring BswEvent driven by a time period.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswTimingEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Requirement for the time period (in seconds) by which this event is triggered.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswTimingEvent.period";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswTimingEvent -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-TIMING-EVENT">
      <xsd:annotation>
         <xsd:documentation>A recurring BswEvent driven by a time period.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswTimingEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:BSW-EVENT"/>
         <xsd:group ref="AR:BSW-SCHEDULE-EVENT"/>
         <xsd:group ref="AR:BSW-TIMING-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswTriggerDirectImplementation -->
   <xsd:group name="BSW-TRIGGER-DIRECT-IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>Specifies a released trigger to be directly implemented via OS calls, for example in a Complex Driver module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswTriggerDirectImplementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASTERED-TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>The trigger which is directly mastered by this module.

There may be several different BswTriggerDirectImplementations mastering the same Trigger. This may be required e.g. due to memory partitioning.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswTriggerDirectImplementation.masteredTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TASK" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The name of the OS task, which is controlled by the referred trigger. This means, that the module uses the trigger condition to directly activate an OS task instead of calling an API of the BswScheduler. The task name is required by the RTE generator resp. BswScheduler to raise the appropriate events in components or modules receiving the trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswTriggerDirectImplementation.task";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswTriggerDirectImplementation.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswTriggerDirectImplementation -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-TRIGGER-DIRECT-IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>Specifies a released trigger to be directly implemented via OS calls, for example in a Complex Driver module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswTriggerDirectImplementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BSW-TRIGGER-DIRECT-IMPLEMENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BswBehavior::BswVariableAccess -->
   <xsd:group name="BSW-VARIABLE-ACCESS">
      <xsd:annotation>
         <xsd:documentation>The presence of a BswVariableAccess implies that a BswModuleEntity needs access to a VariableDataPrototype via the BSW Scheduler.

The kind of access is specified by the role in which the class is used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswVariableAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESSED-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The data accessed via the BSW Scheduler.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswVariableAccess.accessedVariable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-LIMITATION-REFS">
            <xsd:annotation>
               <xsd:documentation>The existence of this reference indicates that the variable is recevied resp. sent only in the context of the referred BswDistinguishedPartitions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswVariableAccess.contextLimitation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTEXT-LIMITATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BSW-DISTINGUISHED-PARTITION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BswVariableAccess.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::BswVariableAccess -->
   <xsd:complexType abstract="false" mixed="false" name="BSW-VARIABLE-ACCESS">
      <xsd:annotation>
         <xsd:documentation>The presence of a BswVariableAccess implies that a BswModuleEntity needs access to a VariableDataPrototype via the BSW Scheduler.

The kind of access is specified by the role in which the class is used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswVariableAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:BSW-VARIABLE-ACCESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::BufferProperties -->
   <xsd:group name="BUFFER-PROPERTIES">
      <xsd:annotation>
         <xsd:documentation>Configuration of the buffer properties the transformer needs to work.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BufferProperties"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUFFER-COMPUTATION" type="AR:COMPU-SCALE">
            <xsd:annotation>
               <xsd:documentation>If the transformer changes the size of the data, the CompuScale can be used to specify a rule to derive the size of the output data based on the size of the input data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BufferProperties.bufferComputation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEADER-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the length of the header (in bits) this transformer will add in front of the data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BufferProperties.headerLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IN-PLACE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set, the transformer uses the input buffer as output buffer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BufferProperties.inPlace";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::BufferProperties -->
   <xsd:complexType abstract="false" mixed="false" name="BUFFER-PROPERTIES">
      <xsd:annotation>
         <xsd:documentation>Configuration of the buffer properties the transformer needs to work.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BufferProperties"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUFFER-PROPERTIES"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BuildActionManifest::BuildAction -->
   <xsd:group name="BUILD-ACTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a build action.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PREDECESSOR-ACTION-REFS">
            <xsd:annotation>
               <xsd:documentation>This association specifies a set of predecessors. These actions must be finished before but necessarily immediately after the given action..

These actions need to be performed in the specified order.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.predecessorAction";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-90"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PREDECESSOR-ACTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BUILD-ACTION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FOLLOW-UP-ACTION-REFS">
            <xsd:annotation>
               <xsd:documentation>This association specifies a set of follow up actions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.followUpAction";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-80"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FOLLOW-UP-ACTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BUILD-ACTION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CREATED-DATAS">
            <xsd:annotation>
               <xsd:documentation>This represents the artifacts which are cated by the processor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.createdData";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BUILD-ACTION-IO-ELEMENT" type="AR:BUILD-ACTION-IO-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INPUT-DATAS">
            <xsd:annotation>
               <xsd:documentation>This represents the artifacts which are read by the processor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.inputData";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BUILD-ACTION-IO-ELEMENT" type="AR:BUILD-ACTION-IO-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODIFIED-DATAS">
            <xsd:annotation>
               <xsd:documentation>This denotes the data which are modifed by the action.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.modifiedData";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BUILD-ACTION-IO-ELEMENT" type="AR:BUILD-ACTION-IO-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-ENVIRONMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the environment which is required to use the specified Processor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.requiredEnvironment";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BUILD-ACTION-ENVIRONMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildAction -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ACTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a build action.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildAction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:BUILD-ACTION-ENTITY"/>
         <xsd:group ref="AR:BUILD-ACTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BUILD-ACTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BUILD-ACTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BuildActionManifest::BuildActionEntity -->
   <xsd:group name="BUILD-ACTION-ENTITY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a build action entity which might be specialized to environments as well as to individual build actions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DELIVERY-ARTIFACTS">
            <xsd:annotation>
               <xsd:documentation>This denotes the delivery artifacts for the entity for reference purposes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEntity.deliveryArtifact";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-ENGINEERING-OBJECT" type="AR:AUTOSAR-ENGINEERING-OBJECT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INVOCATION" type="AR:BUILD-ACTION-INVOCATOR">
            <xsd:annotation>
               <xsd:documentation>This specifies how to invoke a build action in the given environment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEntity.invocation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BuildActionManifest::BuildActionEnvironment -->
   <xsd:group name="BUILD-ACTION-ENVIRONMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a build action environment.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEnvironment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDGS">
            <xsd:annotation>
               <xsd:documentation>This represents a general data structure  intended to denote parameters for the BuildActionEnvironment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEnvironment.sdg";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG" type="AR:SDG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEnvironment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildActionEnvironment -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ACTION-ENVIRONMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a build action environment.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionEnvironment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:BUILD-ACTION-ENVIRONMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BUILD-ACTION-ENVIRONMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BUILD-ACTION-ENVIRONMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BuildActionManifest::BuildActionInvocator -->
   <xsd:group name="BUILD-ACTION-INVOCATOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the invocation of a task in a build action.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionInvocator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMAND" type="AR:VERBATIM-STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the command to invocate the processor. Note that this is a generic string which can be interpreted properly in the processor environment.

Note that it is optional due to the fact that some actions are hardwired in the environment and do not need an explicit command.

On the other hand the properties of an invocator can be complex and not standardized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionInvocator.command";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDGS">
            <xsd:annotation>
               <xsd:documentation>This represents a general data structure  intended to denote parameters for the BuildAction.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionInvocator.sdg";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG" type="AR:SDG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildActionInvocator -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ACTION-INVOCATOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the invocation of a task in a build action.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionInvocator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUILD-ACTION-INVOCATOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BuildActionManifest::BuildActionIoElement -->
   <xsd:group name="BUILD-ACTION-IO-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the input/output entities of a BuildAction.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This element assigns a category to the parent element. It is intended to specialize the usage and/or the content of the object. Such a specialization may also impose particular semantic constraints on the entire substructure.

See also Identifiable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDGS">
            <xsd:annotation>
               <xsd:documentation>This special data group allows to denote specific data. The structure is subject of mutual agreement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement.sdg";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-90"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG" type="AR:SDG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-DEFINITION-REF">
            <xsd:annotation>
               <xsd:documentation>This association denotes an ECUC parameter definition. The such referenced parameters are subject of the build action input/ouptut.

Note that the reference to the definition denotes the right for a build action to read and/or write values for the given defintion and all contained definitions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement.ecucDefinition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-DEFINITION-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENGINEERING-OBJECT" type="AR:BUILD-ENGINEERING-OBJECT">
            <xsd:annotation>
               <xsd:documentation>This represents an artifact applicable to the build action.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement.engineeringObject";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FOREIGN-MODEL-REFERENCE" type="AR:FOREIGN-MODEL-REFERENCE">
            <xsd:annotation>
               <xsd:documentation>This is a reference to a foreign model element. Note that it is not modeled as an association because it should also be able to refer also to non AUTOSAR models.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement.foreignModelReference";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODEL-OBJECT-REFERENCE" type="AR:GENERIC-MODEL-REFERENCE">
            <xsd:annotation>
               <xsd:documentation>This is a reference to a generic model element. Note that it is not modeled as an association because it should also be able to refer also to non AUTOSAR models.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="BuildActionIoElement.modelObjectReference";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute allows to denote a particular role of the collection. Note that the applicable semantics shall be mutually agreed between the two parties.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement.role";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildActionIoElement -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ACTION-IO-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the input/output entities of a BuildAction.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionIoElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUILD-ACTION-IO-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BuildActionManifest::BuildActionManifest -->
   <xsd:group name="BUILD-ACTION-MANIFEST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a manifest for processing artifacts. An example use case is the processing of ECUC parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BuildActionManifests";mmt.qualifiedName="BuildActionManifest";xml.globalElement="false"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="START-ACTION-REFS">
            <xsd:annotation>
               <xsd:documentation>This specifies the list of actions to be performed at the beginning of the process.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest.startAction";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-90"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="START-ACTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BUILD-ACTION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEAR-DOWN-ACTION-REFS">
            <xsd:annotation>
               <xsd:documentation>This specifies the set of action which shall be performed after all other actions in the manifest were performed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest.tearDownAction";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-80"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TEAR-DOWN-ACTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BUILD-ACTION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUILD-ACTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents a particular action in the build chain.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest.buildAction";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BUILD-ACTION" type="AR:BUILD-ACTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUILD-ACTION-ENVIRONMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents a build action environment.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest.buildActionEnvironment";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BUILD-ACTION-ENVIRONMENT" type="AR:BUILD-ACTION-ENVIRONMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-ACTION-REFS">
            <xsd:annotation>
               <xsd:documentation>This denots an Action which is to be executed as part of the dynamic action set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest.dynamicAction";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DYNAMIC-ACTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:BUILD-ACTION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildActionManifest -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ACTION-MANIFEST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a manifest for processing artifacts. An example use case is the processing of ECUC parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BuildActionManifests";mmt.qualifiedName="BuildActionManifest";xml.globalElement="false"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:BUILD-ACTION-MANIFEST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="BUILD-ACTION-MANIFEST--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BUILD-ACTION-MANIFEST"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BuildActionManifest::BuildActionManifestRefConditional -->
   <xsd:group name="BUILD-ACTION-MANIFEST-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUILD-ACTION-MANIFEST-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BUILD-ACTION-MANIFEST--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifestRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildActionManifestRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ACTION-MANIFEST-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildActionManifest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUILD-ACTION-MANIFEST-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BuildActionManifest::BuildEngineeringObject -->
   <xsd:group name="BUILD-ENGINEERING-OBJECT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote an artifact which is processed within a particular build action.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FILE-TYPE" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates the file type which shall used for the engineering object. Note that an engineering object may deliver multiple representations of the same artifact. This attribute can select one of the provided representations.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject.fileType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTENDED-FILENAME" type="AR:URI-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the name of the file if it is created newly. Note that engineering object resolves category + ShortLabel indicate mainly to refer to an existing file. If the file is created newly, the filename can either be determined by built in policy or predefined here. 

Note that extensions shall part of file name even if it could be derived from fileType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject.intendedFilename";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARENT-CATEGORY" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the category of the parent object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject.parentCategory";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARENT-SHORT-LABEL" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the shortLabel of the parent object. This allows to specify the output position in a hierarchically organized sysyetm</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject.parentShortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL-PATTERN" type="AR:REGULAR-EXPRESSION">
            <xsd:annotation>
               <xsd:documentation>This attribute allows to define a set of engineering objects as pattern based search applied to the shortLabel of the individual Enginering objects.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject.shortLabelPattern";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FILE-TYPE-PATTERN" type="AR:REGULAR-EXPRESSION">
            <xsd:annotation>
               <xsd:documentation>This attribute allows to define a set of engineering objects as pattern based search applied to the filetype of the individual Engineering objects.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject.fileTypePattern";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BuildActionManifest::BuildEngineeringObject -->
   <xsd:complexType abstract="false" mixed="false" name="BUILD-ENGINEERING-OBJECT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote an artifact which is processed within a particular build action.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BuildEngineeringObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ENGINEERING-OBJECT"/>
         <xsd:group ref="AR:BUILD-ENGINEERING-OBJECT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EventTriggeringConstraint::BurstPatternEventTriggering -->
   <xsd:group name="BURST-PATTERN-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>A BurstPatternEventTriggering describes the maximum number of occurrences of the same event in a given time interval.
This is typically used to model a worst case activation scenario.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-OCCURRENCES" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum number of event occurrences within the given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering.maxNumberOfOccurrences";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-INTER-ARRIVAL-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The parameter "Minimum Inter-Arrival Time" specifies the minimum distance between subsequent occurrences of the event within the given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering.minimumInterArrivalTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN-JITTER" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The optional parameter "Pattern Jitter" specifies the deviation of the time interval's starting point from the beginning of the given period. This parameter is only applicable in conjunction with the parameter "Pattern Period".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering.patternJitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN-LENGTH" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The parameter "Pattern Length" specifies the duration of the time interval within which the event repeatedly occurs. The event occurs at arbitrary points in time within the given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering.patternLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN-PERIOD" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The optional parameter "Pattern Period" specifies the time distance between the beginnings of subsequent repetitions of the given burst pattern.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering.patternPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-NUMBER-OF-OCCURRENCES" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The minimum number of event occurrences within the given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering.minNumberOfOccurrences";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EventTriggeringConstraint::BurstPatternEventTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="BURST-PATTERN-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>A BurstPatternEventTriggering describes the maximum number of occurrences of the same event in a given time interval.
This is typically used to model a worst case activation scenario.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BurstPatternEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:group ref="AR:BURST-PATTERN-EVENT-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::BusspecificNmEcu -->
   <xsd:group name="BUSSPECIFIC-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>Busspecific NmEcu attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BusspecificNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:complexType name="C-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This datatype represents a string, that follows the rules of C-identifiers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CIdentifier";xml.xsd.customType="C-IDENTIFIER";xml.xsd.pattern="[a-zA-Z_][a-zA-Z0-9_]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:C-IDENTIFIER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:C-IDENTIFIER"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- attribute group for class C-IDENTIFIER -->
   <xsd:attributeGroup name="C-IDENTIFIER">
      <xsd:annotation/>
      <xsd:attribute name="NAME-PATTERN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute represents a pattern which shall be used to define the value of the identifier if the CIdentifier in question is part of a blueprint. 

For more details refer to TPS_StandardizationTemplate.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="CIdentifier.namePattern";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="C-IDENTIFIER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[a-zA-Z_][a-zA-Z0-9_]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CalibrationParameterValues::CalibrationParameterValue -->
   <xsd:group name="CALIBRATION-PARAMETER-VALUE">
      <xsd:annotation>
         <xsd:documentation>Specifies instance specific calibration parameter values used to initialize the memory objects implementing calibration parameters in the generated RTE code.

RTE generator will use the implInitValue to override the initial values specified for the DataPrototypes of a component type. 

The applInitValue is used to exchange init values with the component vendor not publishing the transformation algorithm between ApplicationDataTypes and ImplementationDataTypes or defining a instance specific initialization of components which are only defined with ApplicationDataTypes.

Note: If both representations of init values are available these need to represent the same content.

Note further that in this case an explicit mapping of ValueSpecification is not implemented because calibration parameters are delivered back after the calibration phase.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPL-INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>This is the initial value specification structured according to the ApplicationDataType</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValue.applInitValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPL-INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>This is the initial value specification structured according to the ImplementationDataType</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValue.implInitValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIALIZED-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the parameter that is initialized by the CalibrationParameterValue.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValue.initializedParameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLAT-INSTANCE-DESCRIPTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValue.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationParameterValues::CalibrationParameterValue -->
   <xsd:complexType abstract="false" mixed="false" name="CALIBRATION-PARAMETER-VALUE">
      <xsd:annotation>
         <xsd:documentation>Specifies instance specific calibration parameter values used to initialize the memory objects implementing calibration parameters in the generated RTE code.

RTE generator will use the implInitValue to override the initial values specified for the DataPrototypes of a component type. 

The applInitValue is used to exchange init values with the component vendor not publishing the transformation algorithm between ApplicationDataTypes and ImplementationDataTypes or defining a instance specific initialization of components which are only defined with ApplicationDataTypes.

Note: If both representations of init values are available these need to represent the same content.

Note further that in this case an explicit mapping of ValueSpecification is not implemented because calibration parameters are delivered back after the calibration phase.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CALIBRATION-PARAMETER-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CalibrationParameterValues::CalibrationParameterValueSet -->
   <xsd:group name="CALIBRATION-PARAMETER-VALUE-SET">
      <xsd:annotation>
         <xsd:documentation>Specification of a constant that can be part of a package, i.e. it can be defined stand-alone.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CalibrationParameterValueSets";mmt.qualifiedName="CalibrationParameterValueSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALIBRATION-PARAMETER-VALUES">
            <xsd:annotation>
               <xsd:documentation>This represents single CalibrationParameterValues in the CalibrationParameterValueSet.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CalibrationParameterValueSet.calibrationParameterValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CALIBRATION-PARAMETER-VALUE" type="AR:CALIBRATION-PARAMETER-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationParameterValues::CalibrationParameterValueSet -->
   <xsd:complexType abstract="false" mixed="false" name="CALIBRATION-PARAMETER-VALUE-SET">
      <xsd:annotation>
         <xsd:documentation>Specification of a constant that can be part of a package, i.e. it can be defined stand-alone.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CalibrationParameterValueSets";mmt.qualifiedName="CalibrationParameterValueSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:CALIBRATION-PARAMETER-VALUE-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CALIBRATION-PARAMETER-VALUE-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CALIBRATION-PARAMETER-VALUE-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CanTopology::CanCluster -->
   <xsd:group name="CAN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="CanCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCluster.CanClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-CLUSTER-CONDITIONAL" type="AR:CAN-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanCluster -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="CanCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:ABSTRACT-CAN-CLUSTER"/>
         <xsd:group ref="AR:CAN-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanClusterBusOffRecovery -->
   <xsd:group name="CAN-CLUSTER-BUS-OFF-RECOVERY">
      <xsd:annotation>
         <xsd:documentation>This element contains the attributes that are used to configure the CAN bus off monitoring / recovery at system level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BOR-COUNTER-L-1-TO-L-2" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This threshold defines the count of bus-offs until the bus-off recovery switches from level 1 (short recovery time) to level 2 (long recovery time).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery.borCounterL1ToL2";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BOR-TIME-L-1" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the duration of the bus-off recovery time in level 1 (short recovery time) in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery.borTimeL1";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BOR-TIME-L-2" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the duration of the bus-off recovery time in level 2 (long recovery time) in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery.borTimeL2";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BOR-TIME-TX-ENSURED" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the duration of the bus-off event check in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery.borTimeTxEnsured";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAIN-FUNCTION-PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the cycle time of the function CanSM_MainFunction in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery.mainFunctionPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanClusterBusOffRecovery -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CLUSTER-BUS-OFF-RECOVERY">
      <xsd:annotation>
         <xsd:documentation>This element contains the attributes that are used to configure the CAN bus off monitoring / recovery at system level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterBusOffRecovery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CAN-CLUSTER-BUS-OFF-RECOVERY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanClusterConditional -->
   <xsd:group name="CAN-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:CAN-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:CAN-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanClusterContent -->
   <xsd:group name="CAN-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CanTopology::CanCommunicationConnector -->
   <xsd:group name="CAN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific communication connector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-WAKEUP-CAN-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>CAN Identifier used to configure the CAN Transceiver for partial network wakeup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector.pncWakeupCanId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-WAKEUP-CAN-ID-EXTENDED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether pncWakeupCanId and pncWakeupCanIdMask shall be interpreted as extended or standard CAN ID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector.pncWakeupCanIdExtended";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-WAKEUP-CAN-ID-MASK" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit mask for CAN Identifier used to configure the CAN Transceiver for partial network wakeup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector.pncWakeupCanIdMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-WAKEUP-DATA-MASK" type="AR:POSITIVE-UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit mask for CAN Payload used to configure the CAN Transceiver for partial network wakeup.

This attribute should not be computed from the pncIdentifier values in order to support future introduction of additional PNCs. 

Note that for one EcuInstance all contributing pncWakeupDataMask will be bitwise ORed to obtain the value of CanNmPnFilterMaskByte. Note that this data mask is calculated over the whole payload (8 Byte) of the NmPdu ignoring the leading bytes which do not contain pncVector information. The number of leading bytes which shall be ignored is equivalent to the value of System.pncVectorOffset.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector.pncWakeupDataMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-WAKEUP-DLC" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Data Length of the remote data frame used to configure the CAN Transceiver for partial network wakeup in Bytes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector.pncWakeupDlc";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanCommunicationConnector -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific communication connector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:CAN-COMMUNICATION-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanCommunicationController -->
   <xsd:group name="CAN-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-COMMUNICATION-CONTROLLER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationController.CanCommunicationControllerVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-COMMUNICATION-CONTROLLER-CONDITIONAL" type="AR:CAN-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanCommunicationController -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:CAN-COMMUNICATION-CONTROLLER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanCommunicationControllerConditional -->
   <xsd:group name="CAN-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationControllerConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanCommunicationControllerConditional -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:CAN-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:CAN-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanCommunicationControllerContent -->
   <xsd:group name="CAN-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CanTopology::CanControllerConfiguration -->
   <xsd:group name="CAN-CONTROLLER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>This element is used for the specification of the exact CAN Bit Timing configuration parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROP-SEG" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies propagation delay in time quantas.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfiguration.propSeg";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-JUMP-WIDTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The number of quanta in the Synchronization Jump Width, SJW. The (Re-)Synchronization Jump Width (SJW) defines how far a resynchronization may move the Sample Point inside the limits defined by the Phase Buffer Segments to compensate for edge phase errors.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfiguration.syncJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SEG-1" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies phase segment 1 in time quantas.
timeSeg1 = Phase_Seg1</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfiguration.timeSeg1";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SEG-2" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies phase segment 2 in time quantas. 
timeSeg2 = Phase_Seg2</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfiguration.timeSeg2";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanControllerConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CONTROLLER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>This element is used for the specification of the exact CAN Bit Timing configuration parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONTROLLER-ATTRIBUTES"/>
         <xsd:group ref="AR:CAN-CONTROLLER-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanControllerConfigurationRequirements -->
   <xsd:group name="CAN-CONTROLLER-CONFIGURATION-REQUIREMENTS">
      <xsd:annotation>
         <xsd:documentation>This element allows the specification of ranges for the CAN Bit Timing configuration parameters. These ranges are taken as requirements and have to be respected by the ECU developer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-TIME-QUANTA-PER-BIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum number of time quanta in the bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements.maxNumberOfTimeQuantaPerBit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SAMPLE-POINT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The max. value of the sample point as a percentage of the total bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements.maxSamplePoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SYNC-JUMP-WIDTH" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The max. Synchronization Jump Width value as a percentage of the total bit time. The (Re-)Synchronization Jump Width (SJW) defines how far a resynchronization may move the Sample Point inside the limits defined by the Phase Buffer Segments to compensate for edge phase errors.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements.maxSyncJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-NUMBER-OF-TIME-QUANTA-PER-BIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimum number of time quanta in the bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements.minNumberOfTimeQuantaPerBit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-SAMPLE-POINT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The min. value of the sample point as a percentage of the total bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements.minSamplePoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-SYNC-JUMP-WIDTH" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The min. Synchronization Jump Width value as a percentage of the total bit time. The (Re-)Synchronization Jump Width (SJW) defines how far a resynchronization may move the Sample Point inside the limits defined by the Phase Buffer Segments to compensate for edge phase errors.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements.minSyncJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanControllerConfigurationRequirements -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CONTROLLER-CONFIGURATION-REQUIREMENTS">
      <xsd:annotation>
         <xsd:documentation>This element allows the specification of ranges for the CAN Bit Timing configuration parameters. These ranges are taken as requirements and have to be respected by the ECU developer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerConfigurationRequirements"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONTROLLER-ATTRIBUTES"/>
         <xsd:group ref="AR:CAN-CONTROLLER-CONFIGURATION-REQUIREMENTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanControllerFdConfiguration -->
   <xsd:group name="CAN-CONTROLLER-FD-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Bit timing related configuration of a CAN controller for payload and CRC of a CAN FD frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PADDING-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the value which is used to pad unused data in CAN FD frames which are bigger than 8 byte if the length of a Pdu which was requested to be sent does not match the allowed DLC values of CAN FD.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.paddingValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROP-SEG" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies propagation delay in time quantas.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.propSeg";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-JUMP-WIDTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the synchronization jump width for the controller in time quantas.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.syncJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SEG-1" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies phase segment 1 in time quantas.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.timeSeg1";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SEG-2" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies phase segment 2 in time quantas.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.timeSeg2";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRCV-DELAY-COMPENSATION-OFFSET" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the Transceiver Delay Compensation Offset in seconds. If not specified Transceiver Delay Compensation is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.trcvDelayCompensationOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TX-BIT-RATE-SWITCH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies if the bit rate switching shall be used for transmissions. 
TRUE: CAN FD frames shall be sent with bit rate switching.
FALSE: CAN FD frames shall be sent without bit rate switching.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration.txBitRateSwitch";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanControllerFdConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CONTROLLER-FD-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Bit timing related configuration of a CAN controller for payload and CRC of a CAN FD frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CAN-CONTROLLER-FD-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanControllerFdConfigurationRequirements -->
   <xsd:group name="CAN-CONTROLLER-FD-CONFIGURATION-REQUIREMENTS">
      <xsd:annotation>
         <xsd:documentation>This element allows the specification of ranges for the CanFD bit timing configuration parameters. These ranges are taken as requirements and shall be respected by the ECU developer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-TIME-QUANTA-PER-BIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum number of time quanta in the bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.maxNumberOfTimeQuantaPerBit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SAMPLE-POINT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The max. value of the sample point as a percentage of the total bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.maxSamplePoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SYNC-JUMP-WIDTH" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The max. Synchronization Jump Width value as a percentage of the total bit time. The (Re-)Synchronization Jump Width (SJW) defines how far a resynchronization may move the Sample Point inside the limits defined by the Phase Buffer Segments to compensate for edge phase errors.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.maxSyncJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-TRCV-DELAY-COMPENSATION-OFFSET" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum Transceiver Delay Compensation Offset in seconds. If not specified Transceiver Delay Compensation is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.maxTrcvDelayCompensationOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-NUMBER-OF-TIME-QUANTA-PER-BIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimum number of time quanta in the bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.minNumberOfTimeQuantaPerBit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-SAMPLE-POINT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The min. value of the sample point as a percentage of the total bit time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.minSamplePoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-SYNC-JUMP-WIDTH" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The min. Synchronization Jump Width value as a percentage of the total bit time. The (Re-)Synchronization Jump Width (SJW) defines how far a resynchronization may move the Sample Point inside the limits defined by the Phase Buffer Segments to compensate for edge phase errors.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.minSyncJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-TRCV-DELAY-COMPENSATION-OFFSET" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the minimum Transceiver Delay Compensation Offset in seconds. If not specified Transceiver Delay Compensation is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.minTrcvDelayCompensationOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PADDING-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the value which is used to pad unused data in CAN FD frames which are bigger than 8 byte if the length of a Pdu which was requested to be sent does not match the allowed DLC values of CAN FD.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.paddingValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TX-BIT-RATE-SWITCH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies if the bit rate switching shall be used for transmissions. 

TRUE: CAN FD frames shall be sent with bit rate switching.
FALSE: CAN FD frames shall be sent without bit rate switching.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements.txBitRateSwitch";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::CanControllerFdConfigurationRequirements -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-CONTROLLER-FD-CONFIGURATION-REQUIREMENTS">
      <xsd:annotation>
         <xsd:documentation>This element allows the specification of ranges for the CanFD bit timing configuration parameters. These ranges are taken as requirements and shall be respected by the ECU developer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanControllerFdConfigurationRequirements"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CAN-CONTROLLER-FD-CONFIGURATION-REQUIREMENTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanCommunication::CanFrame -->
   <xsd:group name="CAN-FRAME">
      <xsd:annotation>
         <xsd:documentation>CAN specific Frame element. This element shall also be used for TTCan.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="CanFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CanCommunication::CanFrame -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-FRAME">
      <xsd:annotation>
         <xsd:documentation>CAN specific Frame element. This element shall also be used for TTCan.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="CanFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:CAN-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CanCommunication::CanFrameTriggering -->
   <xsd:group name="CAN-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>CAN specific attributes to the FrameTriggering</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ABSOLUTELY-SCHEDULED-TIMINGS">
            <xsd:annotation>
               <xsd:documentation>Each frame in TTCAN is identified by its slot id and communication cycle. A description is provided by the usage of AbsolutelyScheduledTiming.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.absolutelyScheduledTiming";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TTCAN-ABSOLUTELY-SCHEDULED-TIMING" type="AR:TTCAN-ABSOLUTELY-SCHEDULED-TIMING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-ADDRESSING-MODE" type="AR:CAN-ADDRESSING-MODE-TYPE">
            <xsd:annotation>
               <xsd:documentation>The CAN protocol supports two types of frame formats. The standard frame format uses 11-bit identifiers and is defined in the CAN specification 2.0 A. Additionally the extended frame format allows 29-bit identifiers and is defined in the CAN specification 2.0 B.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.canAddressingMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-FD-FRAME-SUPPORT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute describes whether the CAN FD option is activated or not. If this attribute is TRUE this frame can be sent/received as CAN FD frame. Otherwise it has to be CAN 2.0 compliant.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="CanFrameTriggering.canFdFrameSupport";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-FRAME-RX-BEHAVIOR" type="AR:CAN-FRAME-RX-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines which CAN protocol shall be expected for frame reception.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.canFrameRxBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-FRAME-TX-BEHAVIOR" type="AR:CAN-FRAME-TX-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines which CAN protocol shall be used for frame transmission.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.canFrameTxBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENTIFIER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>To describe a frames identifier on the communication system, usually with a fixed identifierValue. In a complete system description this attribute is mandatory. In an Ecu Extract for the sender of the frame the identifier shall also be provided. In an Ecu Extract for the receiver the identifier attribute shall be ignored if rxIdentifierRange is defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.identifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-REQUESTABLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Frame can be triggered by the J1939 request message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.j1939requestable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RX-IDENTIFIER-RANGE" type="AR:RX-IDENTIFIER-RANGE">
            <xsd:annotation>
               <xsd:documentation>Optional definition of a CanId range.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.rxIdentifierRange";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RX-MASK" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Identifier mask which denotes the relevant bits in the CAN Identifier. Together with the identifier, this parameter defines a CAN identifier range.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.rxMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TX-MASK" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Identifier mask which denotes static bits in the CAN identifier. The other bits can be set dynamically.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering.txMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanCommunication::CanFrameTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>CAN specific attributes to the FrameTriggering</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FRAME-TRIGGERING"/>
         <xsd:group ref="AR:CAN-FRAME-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CAN::CanGlobalTimeDomainProps -->
   <xsd:group name="CAN-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>Enables the definition of Can Global Time specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUP-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="FUP-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for FUP messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="CanGlobalTimeDomainProps.fupDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFNS-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="OFNS-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for OFNS messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="CanGlobalTimeDomainProps.ofnsDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFS-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="OFS-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for OFS messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="CanGlobalTimeDomainProps.ofsDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="SYNC-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for SYNC messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="CanGlobalTimeDomainProps.syncDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CAN::CanGlobalTimeDomainProps -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>Enables the definition of Can Global Time specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-GLOBAL-TIME-DOMAIN-PROPS"/>
         <xsd:group ref="AR:CAN-GLOBAL-TIME-DOMAIN-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::CanNmCluster -->
   <xsd:group name="CAN-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Can specific NmCluster attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-BUSLOAD-REDUCTION-ACTIVE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>It determines if bus load reduction for the respective CanNm channel is active or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmBusloadReductionActive";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-BIT-POSITION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the bit position of the CarWakeUp within the NmPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmCarWakeUpBitPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-FILTER-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Please note that this parameter is deprecated and will be removed in future. 

Old description:
If this attribute is set to true the CareWakeUp filtering is supported. In this case only the CarWakeUp bit within the NmPdu with source node identifier nmCarWakeUpFilterNodeId is considered as CarWakeUp request.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="CanNmCluster.nmCarWakeUpFilterEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-FILTER-NODE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Source node identifier for CarWakeUp filtering.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmCarWakeUpFilterNodeId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-RX-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Please note that this parameter is deprecated and will be removed in future.

Old description:
If set to true this attribute enables the support of CarWakeUp bit evaluation in received NmPdus.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="CanNmCluster.nmCarWakeUpRxEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CBV-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the position of the control bit vector within the NmPdu (Byte position). If this attribute is not configured, the Control Bit Vector is not used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmCbvPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CHANNEL-ACTIVE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is deprecated and will be removed in future.

This switch determines if the respective CanNm channel is active or not. Indicates whether a particular CanNm channel shall be initialized (TRUE) or not (FALSE). If this parameter is set to FALSE the respective NM instance shall not be used during runtime.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";mmt.qualifiedName="CanNmCluster.nmChannelActive";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IMMEDIATE-NM-CYCLE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the immediate NmPdu cycle time in seconds which is used for nmImmediateNmTransmissions NmPdu transmissions. This parameter is only valid if CanNmImmediateNmTransmissions is greater one.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmImmediateNmCycleTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IMMEDIATE-NM-TRANSMISSIONS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the number of immediate NmPdus which shall be transmitted. If the value is zero no immediate NmPdus are transmitted. The cycle time of immeditate NmPdus is defined by nmImmediateNmCycleTime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmImmediateNmTransmissions";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MESSAGE-TIMEOUT-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout of an NmPdu in seconds. It determines how long the NM shall wait with notification of transmission failure while communication errors occur on the bus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmMessageTimeoutTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MSG-CYCLE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Period of a NmPdu in seconds. It determines the periodic rate in the periodic transmission mode with bus load reduction and is the basis for transmit scheduling in the periodic transmission mode without bus load reduction.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmMsgCycleTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NETWORK-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Network Timeout for NmPdus in seconds
It denotes the time how long the CanNm shall stay in the Network Mode before transition into Prepare Bus-Sleep Mode shall take place.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmNetworkTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NID-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the byte position of the source node identifier within the NmPdu. If this attribute is not configured, the Node Identification is not used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmNidPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REMOTE-SLEEP-INDICATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for Remote Sleep Indication in seconds. It defines the time how long it shall take to recognize that all other nodes are ready to sleep.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmRemoteSleepIndicationTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MESSAGE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for Repeat Message State in seconds. Defines the time how long the NM shall stay in the Repeat Message State.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmRepeatMessageTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-USER-DATA-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the length of the user data contained in the NmPdu.

Please note that this attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="CanNmCluster.nmUserDataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-WAIT-BUS-SLEEP-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for bus calm down phase in seconds. It denotes the time how long the CanNm shall stay in the Prepare Bus-Sleep Mode before transition into Bus-Sleep Mode shall take place.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster.nmWaitBusSleepTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::CanNmCluster -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Can specific NmCluster attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-CLUSTER"/>
         <xsd:group ref="AR:CAN-NM-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CAN-NM-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-NM-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class NetworkManagement::CanNmClusterCoupling -->
   <xsd:group name="CAN-NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>CAN attributes that are valid for each of the referenced (coupled) CAN clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLED-CLUSTER-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to coupled CAN Clusters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmClusterCoupling.coupledCluster";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLED-CLUSTER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CAN-NM-CLUSTER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-BUSLOAD-REDUCTION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables busload reduction support</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmClusterCoupling.nmBusloadReductionEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IMMEDIATE-RESTART-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables the asynchronous transmission of a CanNm PDU upon bus-communication request in Prepare-Bus-Sleep mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmClusterCoupling.nmImmediateRestartEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::CanNmClusterCoupling -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>CAN attributes that are valid for each of the referenced (coupled) CAN clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NM-CLUSTER-COUPLING"/>
         <xsd:group ref="AR:CAN-NM-CLUSTER-COUPLING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::CanNmEcu -->
   <xsd:group name="CAN-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>CAN specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MSG-INDICATION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enable/disable the notification that a RepeatMessageRequest bit has been received. This attribute is deprecated and shall be not used. It will be removed in the future. The nmRepeatMsgIndEnabled attribute in NmEcu shall be used instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="CanNmEcu.nmRepeatMsgIndicationEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::CanNmEcu -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>CAN specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUSSPECIFIC-NM-ECU"/>
         <xsd:group ref="AR:CAN-NM-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::CanNmNode -->
   <xsd:group name="CAN-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>CAN specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-FILTER-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the CareWakeUp filtering is supported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmNode.nmCarWakeUpFilterEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-RX-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true this attribute enables the support of CarWakeUp bit evaluation in received NmPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmNode.nmCarWakeUpRxEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MSG-CYCLE-OFFSET" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Node specific time offset in the periodic transmission node. It determines the start delay of the transmission. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmNode.nmMsgCycleOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MSG-REDUCED-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Node specific bus cycle time in the periodic transmission mode with bus load reduction. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmNode.nmMsgReducedTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-RANGE-CONFIG" type="AR:CAN-NM-RANGE-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Defines the CANID ranges that are used for Nm. 
This range definition is redundant to the attribute "rxIdentifierRange" of CanFrameTriggering. For backward compatibility reasons this redundancy shall be preserved and both shall be defined. In future this element will be removed from the model.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="CanNmNode.nmRangeConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::CanNmNode -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>CAN specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanNmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-NODE"/>
         <xsd:group ref="AR:CAN-NM-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::CanNmRangeConfig -->
   <xsd:group name="CAN-NM-RANGE-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Defines the CANID ranges that are used for Nm. This range definition is redundant to the attribute "rxIdentifierRange" of CanFrameTriggering. For backward compatibility reasons this redundancy shall be preserved and both shall be defined.
In future this element will be removed from the model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="CanNmRangeConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-CAN-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Lower CAN Identifier of a receive CAN L-PDU for identifier range definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmRangeConfig.lowerCanId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-CAN-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Upper CAN Identifier of a receive CAN L-PDU for identifier range definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanNmRangeConfig.upperCanId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::CanNmRangeConfig -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-NM-RANGE-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Defines the CANID ranges that are used for Nm. This range definition is redundant to the attribute "rxIdentifierRange" of CanFrameTriggering. For backward compatibility reasons this redundancy shall be preserved and both shall be defined.
In future this element will be removed from the model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="CanNmRangeConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CAN-NM-RANGE-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::CanPhysicalChannel -->
   <xsd:group name="CAN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific physical channel attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CanTopology::CanPhysicalChannel -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>CAN bus specific physical channel attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:ABSTRACT-CAN-PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:CAN-PHYSICAL-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::CanTpAddress -->
   <xsd:group name="CAN-TP-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>An ECUs TP address on the referenced channel. This represents the diagnostic Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>An ECUs TP address on the referenced channel. This represents the diagnostic Address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpAddress.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-EXTENSION-VALUE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>If the mixed addressing format is used, this parameter contains the transport protocol address extension value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpAddress.tpAddressExtensionValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpAddress.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::CanTpAddress -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-TP-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>An ECUs TP address on the referenced channel. This represents the diagnostic Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CAN-TP-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CAN-TP-ADDRESS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-TP-ADDRESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::CanTpChannel -->
   <xsd:group name="CAN-TP-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>Configuration parameters of the CanTp channel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHANNEL-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The id of the channel. The value shall be unique for each channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpChannel.channelId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHANNEL-MODE" type="AR:CAN-TP-CHANNEL-MODE-TYPE">
            <xsd:annotation>
               <xsd:documentation>The CAN Transport Layer supports half and full duplex channel modes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpChannel.channelMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpChannel.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::CanTpChannel -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-TP-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>Configuration parameters of the CanTp channel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CAN-TP-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CAN-TP-CHANNEL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-TP-CHANNEL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::CanTpConfig -->
   <xsd:group name="CAN-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one CAN TP Configuration. 

One CanTpConfig element shall be created for each CAN Network in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="CanTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConfig.tpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-TP-ADDRESS" type="AR:CAN-TP-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CHANNELS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConfig.tpChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-TP-CHANNEL" type="AR:CAN-TP-CHANNEL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConfig.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-TP-CONNECTION" type="AR:CAN-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ECUS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConfig.tpEcu";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-TP-ECU" type="AR:CAN-TP-ECU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-NODES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConfig.tpNode";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-TP-NODE" type="AR:CAN-TP-NODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::CanTpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one CAN TP Configuration. 

One CanTpConfig element shall be created for each CAN Network in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="CanTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:CAN-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::CanTpConnection -->
   <xsd:group name="CAN-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The CanTp module routes a Pdu through this connection. 

atpVariation: Derived, because TpNode can vary.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESSING-FORMAT" type="AR:CAN-TP-ADDRESSING-FORMAT-TYPE">
            <xsd:annotation>
               <xsd:documentation>Declares which communication addressing mode is supported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.addressingFormat";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-TP-CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the CanTpChannel on which this CanTpConnection is realized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.canTpChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CAN-TP-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>With this switch Tx and Rx Cancellation can be turned on or off.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.cancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an Data NPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.dataPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLOW-CONTROL-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the Flow Control NPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.flowControlPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-BLOCK-SIZE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum number of N-PDUs the CanTp receiver allows the sender to send, before waiting for an authorization to continue transmission of the following N-PDUs. For further details on this parameter value see ISO 15765-2 specification.

Note: For reasons of buffer length, the CAN Transport Layer can adapt the BS value within the limit of this maximum BS</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.maxBlockSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-REF">
            <xsd:annotation>
               <xsd:documentation>TP address for 1:n connections.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.multicast";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CAN-TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PADDING-ACTIVATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This specifies wheter or not Sfs, FCs and the last CF shall be padded to 8 bytes length in case it contains less payload.

true:
The N-PDU received uses padding for SF, FC and the last CF. (N-PDU length is always 8 bytes)

false:
The N-PDU received does not use padding for SF, CF and the last CF. (N-PDU length is dynamic)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.paddingActivation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVER-REFS">
            <xsd:annotation>
               <xsd:documentation>The target of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.receiver";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECEIVER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CAN-TP-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TA-TYPE" type="AR:NETWORK-TARGET-ADDRESS-TYPE">
            <xsd:annotation>
               <xsd:documentation>Network Target Address type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.taType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-BR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Value in seconds of the performance requirement for (N_Br + N_Ar). N_Br is the elapsed time between the receiving indication of a FF or CF or the transmit confirmation of a FC, until the transmit request of the next FC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.timeoutBr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-BS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the timout for waiting for an FC or AF on the sender side in an 1:1 connection. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.timeoutBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the timeout value for waiting for a CF or FF-x (in case of retry) after receiving the last CF or after sending an FC or AF on the receiver side. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.timeoutCr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The attribute timeoutCs represents the time (in seconds) which elapses between the transmit request of a CF N-PDU until the transmit request of the next CF N-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.timeoutCs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an IPdu that is segmented by the Transport Protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.tpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMIT-CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>With this switch Transmit Cancellation can be turned on or off for this channel.

Please note that this attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="CanTpConnection.transmitCancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMITTER-REF">
            <xsd:annotation>
               <xsd:documentation>The source of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.transmitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CAN-TP-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::CanTpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The CanTp module routes a Pdu through this connection. 

atpVariation: Derived, because TpNode can vary.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-CONNECTION"/>
         <xsd:group ref="AR:CAN-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::CanTpEcu -->
   <xsd:group name="CAN-TP-ECU">
      <xsd:annotation>
         <xsd:documentation>ECU specific TP configuration parameters. Each TpEcu element has a reference to exactly one ECUInstance in the topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-TIME-MAIN-FUNCTION" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The period between successive calls to the Main Function of the AUTOSAR TP. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpEcu.cycleTimeMainFunction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Connection to the ECUInstance in the Topology</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpEcu.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpEcu.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::CanTpEcu -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-TP-ECU">
      <xsd:annotation>
         <xsd:documentation>ECU specific TP configuration parameters. Each TpEcu element has a reference to exactly one ECUInstance in the topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CAN-TP-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::CanTpNode -->
   <xsd:group name="CAN-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>Asscociation to a CommunicationConnector in the topology description. 
In a System Description this reference is mandatory. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.connector";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-FC-WAIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum number of flow control PDUs that can be consecutively be transmitted by a receiver.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.maxFcWait";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ST-MIN" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Sets the duration of the minimum time the CanTp sender shall wait between the transmissions of two CF N-PDUs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.stMin";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute states the timeout between the PDU transmit request of the Transport Layer to the Can Interface and the corresponding confirmation of the Can Interface on the receiver side (for FC or AF). Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.timeoutAr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute states the timeout between the PDU transmit request for the first PDU of the group used in the current connection of the Transport Layer to the Can Interface and the corresponding confirmation of the Can Interface (when having sent the last PDU of the group used in this connection) on the sender side (SF-x, FF-x, CF or FC (in case of Transmit Cancellation)). Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.timeoutAs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the TP Address that is used by the TpNode. This reference is optional in case that the multicast TP Address is used (reference from TpConnection).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CAN-TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::CanTpNode -->
   <xsd:complexType abstract="false" mixed="false" name="CAN-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CAN-TP-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CAN-TP-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-TP-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BlockElements::Caption -->
   <xsd:group name="CAPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a caption which is a title, and a shortName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Caption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class BlockElements::Caption -->
   <xsd:complexType abstract="false" mixed="false" name="CAPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a caption which is a title, and a shortName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Caption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:CAPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Chapters::Chapter -->
   <xsd:group name="CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a chapter of a document. Chapters are the primary structuring element in documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Chapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:CHAPTER-MODEL"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Chapter.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class Chapters::Chapter -->
   <xsd:attributeGroup name="CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a chapter of a document. Chapters are the primary structuring element in documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Chapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax shall be defined by the applied help system respectively help system generator.

Maybe it is a concatenated Identifier, but as of now we leave it as an arbitrary string.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Chapter.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Chapters::Chapter -->
   <xsd:complexType abstract="false" mixed="false" name="CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a chapter of a document. Chapters are the primary structuring element in documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Chapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:CHAPTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:CHAPTER"/>
   </xsd:complexType>
   <!-- element group for class Chapters::ChapterContent -->
   <xsd:group name="CHAPTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This class represents the content which is directly in a chapter. It is basically the same as the one in a Topic but might have additional complex structures (e.g. Synopsis)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:choice maxOccurs="unbounded" minOccurs="0">
               <xsd:group ref="AR:TOPIC-CONTENT-OR-MSR-QUERY"/>
            </xsd:choice>
            <xsd:element name="PRMS" type="AR:PRMS">
               <xsd:annotation>
                  <xsd:documentation>This is a parameter table within a chapter.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="ChapterContent.prms";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="150"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class Chapters::ChapterContent -->
   <xsd:complexType abstract="false" mixed="false" name="CHAPTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This class represents the content which is directly in a chapter. It is basically the same as the one in a Topic but might have additional complex structures (e.g. Synopsis)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CHAPTER-CONTENT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Chapters::ChapterModel -->
   <xsd:group name="CHAPTER-MODEL">
      <xsd:annotation>
         <xsd:documentation>This is the basic content model of a chapter except the Chapter title. This can be utilized in general chapters as well as in predefined chapters.

A chapter has content on three levels:

1. chapter content

2. topics

3. subchapters</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterModel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:CHAPTER-CONTENT"/>
         </xsd:choice>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:TOPIC-OR-MSR-QUERY"/>
         </xsd:choice>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:CHAPTER-OR-MSR-QUERY"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Chapters::ChapterModel -->
   <xsd:complexType abstract="false" mixed="false" name="CHAPTER-MODEL">
      <xsd:annotation>
         <xsd:documentation>This is the basic content model of a chapter except the Chapter title. This can be utilized in general chapters as well as in predefined chapters.

A chapter has content on three levels:

1. chapter content

2. topics

3. subchapters</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterModel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CHAPTER-MODEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Chapters::ChapterOrMsrQuery -->
   <xsd:group name="CHAPTER-OR-MSR-QUERY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a particular chapter or a query returning a chapter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterOrMsrQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="CHAPTER" type="AR:CHAPTER">
               <xsd:annotation>
                  <xsd:documentation>This establishes a subschapter.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="ChapterOrMsrQuery.chapter";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.sequenceOffset="210"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="MSR-QUERY-CHAPTER" type="AR:MSR-QUERY-CHAPTER">
               <xsd:annotation>
                  <xsd:documentation>This represents automatically contributed chapters provided by an msrquery.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="ChapterOrMsrQuery.msrQueryChapter";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="220"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class Chapters::ChapterOrMsrQuery -->
   <xsd:complexType abstract="false" mixed="false" name="CHAPTER-OR-MSR-QUERY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a particular chapter or a query returning a chapter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterOrMsrQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CHAPTER-OR-MSR-QUERY"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::ClassContentConditional -->
   <xsd:group name="CLASS-CONTENT-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>Specifies the valid content of the class. The content can optionally depend on a condition. (E.g. value of attribute 'category')</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClassContentConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONDITION">
            <xsd:annotation>
               <xsd:documentation>The rules on the content of this class are enabled if the condition validates to true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassContentConditional.condition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="AGGREGATION-CONDITION" type="AR:AGGREGATION-CONDITION"/>
                  <xsd:element name="INVERT-CONDITION" type="AR:INVERT-CONDITION"/>
                  <xsd:element name="PRIMITIVE-ATTRIBUTE-CONDITION" type="AR:PRIMITIVE-ATTRIBUTE-CONDITION"/>
                  <xsd:element name="REFERENCE-CONDITION" type="AR:REFERENCE-CONDITION"/>
                  <xsd:element name="TEXTUAL-CONDITION" type="AR:TEXTUAL-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ATTRIBUTE-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Tailorings of the owned and inherited attributes of this Meta Classes</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassContentConditional.attributeTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AGGREGATION-TAILORING" type="AR:AGGREGATION-TAILORING"/>
                  <xsd:element name="PRIMITIVE-ATTRIBUTE-TAILORING" type="AR:PRIMITIVE-ATTRIBUTE-TAILORING"/>
                  <xsd:element name="REFERENCE-TAILORING" type="AR:REFERENCE-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTRAINT-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Specification of tailorings of Constraints of that are owned by this Meta Classes</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassContentConditional.constraintTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTRAINT-TAILORING" type="AR:CONSTRAINT-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Specification of the applicable Special Data Group</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassContentConditional.sdgTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG-TAILORING" type="AR:SDG-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::ClassContentConditional -->
   <xsd:complexType abstract="false" mixed="false" name="CLASS-CONTENT-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>Specifies the valid content of the class. The content can optionally depend on a condition. (E.g. value of attribute 'category')</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClassContentConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CLASS-CONTENT-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::ClassTailoring -->
   <xsd:group name="CLASS-TAILORING">
      <xsd:annotation>
         <xsd:documentation>The ClassTailoring is an abstract class that allows the tailoring of its attributes, applicable constraints and Sdgs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClassTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTIPLICITY-RESTRICTION" type="AR:MULTIPLICITY-RESTRICTION-WITH-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>Specifies the multiplicity of the class in the current context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassTailoring.multiplicityRestriction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-RESTRICTION" type="AR:VARIATION-RESTRICTION-WITH-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>Specifies restrictions on the usage of variant handling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassTailoring.variationRestriction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLASS-CONTENTS">
            <xsd:annotation>
               <xsd:documentation>Specifies the accepted / not accepted content of the class. All rules apply that fullfill the condition of the ClassContentConditional</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClassTailoring.classContent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLASS-CONTENT-CONDITIONAL" type="AR:CLASS-CONTENT-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Communication::ClientComSpec -->
   <xsd:group name="CLIENT-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Client-specific communication attributes (RPortPrototype typed by ClientServerInterface).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding ClientServerOperation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientComSpec.operation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-COM-SPEC-PROPSS">
            <xsd:annotation>
               <xsd:documentation>This references the TransformationComSpecProps which define port-specific configuration for data transformation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientComSpec.transformationComSpecProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-COM-SPEC-PROPS" type="AR:END-TO-END-TRANSFORMATION-COM-SPEC-PROPS"/>
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS" type="AR:USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ClientComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Client-specific communication attributes (RPortPrototype typed by ClientServerInterface).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:R-PORT-COM-SPEC"/>
         <xsd:group ref="AR:CLIENT-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SystemTemplate::ClientIdDefinition -->
   <xsd:group name="CLIENT-ID-DEFINITION">
      <xsd:annotation>
         <xsd:documentation>Several clients in one client-ECU can communicate via inter-ECU client-server communication with a server on a different ECU, if a client identifier is used to distinguish the different clients.
The Client Identifier of the transaction handle that is used by the RTE can be defined by this element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdDefinition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-ID" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The Client Identifier of the transaction handle used for a inter-ECU client server communication is defined by this attribute. If defined the RTE generator shall use this clientId.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdDefinition.clientId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVER-OPERATION-IREF" type="AR:OPERATION-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the ClientServerOperation that is called by the client.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdDefinition.clientServerOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdDefinition.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemTemplate::ClientIdDefinition -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-ID-DEFINITION">
      <xsd:annotation>
         <xsd:documentation>Several clients in one client-ECU can communicate via inter-ECU client-server communication with a server on a different ECU, if a client identifier is used to distinguish the different clients.
The Client Identifier of the transaction handle that is used by the RTE can be defined by this element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdDefinition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CLIENT-ID-DEFINITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SystemTemplate::ClientIdDefinitionSet -->
   <xsd:group name="CLIENT-ID-DEFINITION-SET">
      <xsd:annotation>
         <xsd:documentation>Set of Client Identifiers that are used for inter-ECU client-server communication in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ClientIdDefinitionSets";mmt.qualifiedName="ClientIdDefinitionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-ID-DEFINITIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ClientIdDefinitionSet.clientIdDefinition";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-ID-DEFINITION" type="AR:CLIENT-ID-DEFINITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemTemplate::ClientIdDefinitionSet -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-ID-DEFINITION-SET">
      <xsd:annotation>
         <xsd:documentation>Set of Client Identifiers that are used for inter-ECU client-server communication in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ClientIdDefinitionSets";mmt.qualifiedName="ClientIdDefinitionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:CLIENT-ID-DEFINITION-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CLIENT-ID-DEFINITION-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLIENT-ID-DEFINITION-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataMapping::ClientIdMapping -->
   <xsd:group name="CLIENT-ID-MAPPING">
      <xsd:annotation>
         <xsd:documentation>In case of a server on one ECU with multiple clients on other ECUs, the client server communication shall use different unique COM signals and signal groups for each client to allow the identification of the client associated with each system signal.

The ClientId is mapped to the requestGroup and to the responseGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientIdMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the SystemSignal with the ClientID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientIdMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-ID-MAPPING">
      <xsd:annotation>
         <xsd:documentation>In case of a server on one ECU with multiple clients on other ECUs, the client server communication shall use different unique COM signals and signal groups for each client to allow the identification of the client associated with each system signal.

The ClientId is mapped to the requestGroup and to the responseGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientIdMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-ID-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::ClientIdRange -->
   <xsd:group name="CLIENT-ID-RANGE">
      <xsd:annotation>
         <xsd:documentation>With this element it is possible to restrict the Client Identifier of the transaction handle that is generated by the client RTE for inter-Ecu Client/Server communication to an allowed range of numerical values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the lower limit of the ClientIdRange.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdRange.lowerLimit";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the upper limit of the ClientIdRange.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdRange.upperLimit";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreTopology::ClientIdRange -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-ID-RANGE">
      <xsd:annotation>
         <xsd:documentation>With this element it is possible to restrict the Client Identifier of the transaction handle that is generated by the client RTE for inter-Ecu Client/Server communication to an allowed range of numerical values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientIdRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-ID-RANGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::ClientServerAnnotation -->
   <xsd:group name="CLIENT-SERVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port regarding a certain Operation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ClientServerOperation that the ClientServerAnnotation corresponds to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerAnnotation.operation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::ClientServerAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port regarding a certain Operation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:CLIENT-SERVER-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ClientServerApplicationErrorMapping -->
   <xsd:group name="CLIENT-SERVER-APPLICATION-ERROR-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map ApplicationErrors onto each other.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerApplicationErrorMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-APPLICATION-ERROR-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the first ApplicationError in the context of the ClientServerApplicationErrorMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerApplicationErrorMapping.firstApplicationError";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-ERROR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-APPLICATION-ERROR-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the second ApplicationError in the context of the ClientServerApplicationErrorMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerApplicationErrorMapping.secondApplicationError";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-ERROR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ClientServerApplicationErrorMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-APPLICATION-ERROR-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map ApplicationErrors onto each other.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerApplicationErrorMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-APPLICATION-ERROR-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerArrayElementMapping -->
   <xsd:group name="CLIENT-SERVER-ARRAY-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The ApplicationArrayElement may be a primitive one or a composite one. If the element is primitive, it will be mapped to the "SystemSignal" (multiplicity 1). If the ArgumentDataPrototype that is referenced by ClientServerCompositeTypeMapping is typed by an ApplicationDataType the reference to the ApplicationArrayElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference to the ImplementationArrayElement shall be used. 

If the element is composite, there will be no mapping to the "SystemSignal" (multiplicity 0). In this case the "ArrayElementMapping" Element will aggregate the "TypeMapping" Element. In that way also the composite datatypes can be mapped to SystemSignals. 

Regardless whether composite or primitive array element is mapped the indexed array element always needs to be specified.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerArrayElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPLEX-TYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>This aggregation will be used if the element is  composite.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerArrayElementMapping.complexTypeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-ARRAY-TYPE-MAPPING" type="AR:CLIENT-SERVER-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="CLIENT-SERVER-RECORD-TYPE-MAPPING" type="AR:CLIENT-SERVER-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEXED-ARRAY-ELEMENT" type="AR:INDEXED-ARRAY-ELEMENT">
            <xsd:annotation>
               <xsd:documentation>Reference to an indexed array element in the context of the mappedOperation or in the context of a composite element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerArrayElementMapping.indexedArrayElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the system signal used to carry the primitive ApplicationArrayElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerArrayElementMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerArrayElementMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-ARRAY-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The ApplicationArrayElement may be a primitive one or a composite one. If the element is primitive, it will be mapped to the "SystemSignal" (multiplicity 1). If the ArgumentDataPrototype that is referenced by ClientServerCompositeTypeMapping is typed by an ApplicationDataType the reference to the ApplicationArrayElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference to the ImplementationArrayElement shall be used. 

If the element is composite, there will be no mapping to the "SystemSignal" (multiplicity 0). In this case the "ArrayElementMapping" Element will aggregate the "TypeMapping" Element. In that way also the composite datatypes can be mapped to SystemSignals. 

Regardless whether composite or primitive array element is mapped the indexed array element always needs to be specified.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerArrayElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-ARRAY-ELEMENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerArrayTypeMapping -->
   <xsd:group name="CLIENT-SERVER-ARRAY-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is an Array, the "ArrayTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerArrayTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-ELEMENT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Each ApplicationArrayElement must be mapped on a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerArrayTypeMapping.arrayElementMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-ARRAY-ELEMENT-MAPPING" type="AR:CLIENT-SERVER-ARRAY-ELEMENT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerArrayTypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-ARRAY-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is an Array, the "ArrayTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerArrayTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-COMPOSITE-TYPE-MAPPING"/>
         <xsd:group ref="AR:CLIENT-SERVER-ARRAY-TYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerCompositeTypeMapping -->
   <xsd:group name="CLIENT-SERVER-COMPOSITE-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Two mappings exist for the composite data types: "ArrayTypeMapping" and "RecordTypeMapping".
In both, a primitive datatype will be mapped to a system signal. 

But it is also possible to combine the arrays and the records, so that an "array" could be an element of a "record" and in the same manner a "record" could be an element of an "array". Nesting these data types is also possible.

If an element of a composite data type is again a composite one, the "CompositeTypeMapping" element will be used one more time (aggregation between the ArrayElementMapping and CompositeTypeMapping or aggregation between the RecordElementMapping and CompositeTypeMapping).</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerCompositeTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an argument in the context of the mappedOperation. 
Only ClientServerCompositeTypeMapping elements that are directly aggregated by the ClientServerToSignalGroupMapping shall contain this reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerCompositeTypeMapping.argument";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ARGUMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class PortInterface::ClientServerInterface -->
   <xsd:group name="CLIENT-SERVER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A client/server interface declares a number of operations that can be invoked on a server by a client.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="ClientServerInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATIONS">
            <xsd:annotation>
               <xsd:documentation>ClientServerOperation(s) of this ClientServerInterface.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterface.operation";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-OPERATION" type="AR:CLIENT-SERVER-OPERATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSSIBLE-ERRORS">
            <xsd:annotation>
               <xsd:documentation>Application errors that are defined as part of this interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterface.possibleError";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-ERROR" type="AR:APPLICATION-ERROR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ClientServerInterface -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A client/server interface declares a number of operations that can be invoked on a server by a client.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="ClientServerInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:PORT-INTERFACE"/>
         <xsd:group ref="AR:CLIENT-SERVER-INTERFACE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CLIENT-SERVER-INTERFACE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PortInterface::ClientServerInterfaceMapping -->
   <xsd:group name="CLIENT-SERVER-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of ClientServerOperations in context of two different ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ERROR-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Map two different ApplicationErrors defined in the context of two different ClientServerInterfaces.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceMapping.errorMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-APPLICATION-ERROR-MAPPING" type="AR:CLIENT-SERVER-APPLICATION-ERROR-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Mapping of two ClientServerOperations in two different ClientServerInterfaces</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceMapping.operationMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-OPERATION-MAPPING" type="AR:CLIENT-SERVER-OPERATION-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ClientServerInterfaceMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of ClientServerOperations in context of two different ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:PORT-INTERFACE-MAPPING"/>
         <xsd:group ref="AR:CLIENT-SERVER-INTERFACE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ClientServerInterfaceToBswModuleEntryMapping::ClientServerInterfaceToBswModuleEntryBlueprintMapping -->
   <xsd:group name="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents a mapping between one ClientServerInterface blueprint and BswModuleEntry blueprint in order to express the intended implementation of ClientServerOperations by specific BswModuleEntries under consideration of PortDefinedArguments.
Such a mapping enables the formal check whether the number of arguments and the data types of arguments of the operation + additional PortDefinedArguments matches the signature of the BswModuleEntry.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BlueprintMappingSets";mmt.qualifiedName="ClientServerInterfaceToBswModuleEntryBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVER-INTERFACE-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced ClientServerInterface represents the client server interface the mapping is dedicated to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceToBswModuleEntryBlueprintMapping.clientServerInterface";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This specifies the operations used in the mapping between the ClientServerInterface and the BswModuleEntry.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceToBswModuleEntryBlueprintMapping.operationMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING" type="AR:CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-DEFINED-ARGUMENT-BLUEPRINTS">
            <xsd:annotation>
               <xsd:documentation>This specifies the PortDefinedArguments used in the mapping between the ClientServerInterface and the BswModuleEntry.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerInterfaceToBswModuleEntryBlueprintMapping.portDefinedArgumentBlueprint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PORT-DEFINED-ARGUMENT-BLUEPRINT" type="AR:PORT-DEFINED-ARGUMENT-BLUEPRINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ClientServerInterfaceToBswModuleEntryMapping::ClientServerInterfaceToBswModuleEntryBlueprintMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents a mapping between one ClientServerInterface blueprint and BswModuleEntry blueprint in order to express the intended implementation of ClientServerOperations by specific BswModuleEntries under consideration of PortDefinedArguments.
Such a mapping enables the formal check whether the number of arguments and the data types of arguments of the operation + additional PortDefinedArguments matches the signature of the BswModuleEntry.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BlueprintMappingSets";mmt.qualifiedName="ClientServerInterfaceToBswModuleEntryBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ClientServerOperation -->
   <xsd:group name="CLIENT-SERVER-OPERATION">
      <xsd:annotation>
         <xsd:documentation>An operation declared within the scope of a client/server interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>An argument of this ClientServerOperation
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperation.argument";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ARGUMENT-DATA-PROTOTYPE" type="AR:ARGUMENT-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSSIBLE-ERROR-REFS">
            <xsd:annotation>
               <xsd:documentation>Possible errors that may by raised by the referring operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperation.possibleError";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POSSIBLE-ERROR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:APPLICATION-ERROR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperation.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ClientServerOperation -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-OPERATION">
      <xsd:annotation>
         <xsd:documentation>An operation declared within the scope of a client/server interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:CLIENT-SERVER-OPERATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CLIENT-SERVER-OPERATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLIENT-SERVER-OPERATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ClientServerInterfaceToBswModuleEntryMapping::ClientServerOperationBlueprintMapping -->
   <xsd:group name="CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This class describes a specific mapping between a ClientServerOperation in a ClientServerInterface blueprint and a BswModuleEntry blueprint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-MAPPING-GUIDE" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This attribute offers the possibility to provide additional information with respect to the mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationBlueprintMapping.blueprintMappingGuide";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced BswModuleEntry represents the BswModuleEntry the mapping is dedicated to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationBlueprintMapping.bswModuleEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVER-OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced ClientServerOperation represents the client server operation the mapping is dedicated to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationBlueprintMapping.clientServerOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationBlueprintMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ClientServerInterfaceToBswModuleEntryMapping::ClientServerOperationBlueprintMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This class describes a specific mapping between a ClientServerOperation in a ClientServerInterface blueprint and a BswModuleEntry blueprint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-OPERATION-BLUEPRINT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ClientServerOperationMapping -->
   <xsd:group name="CLIENT-SERVER-OPERATION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular ClientServerOperations in context of two different ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Defines the mapping of two particular ArgumentDataPrototypes with unequal names or unequal semantic (resolution or range) in context of Operations.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationMapping.argumentMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-MAPPING" type="AR:DATA-PROTOTYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>First to-be-mapped ClientServerOperation of a ClientServerInterface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationMapping.firstOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-TO-SECOND-DATA-TRANSFORMATION-REF">
            <xsd:annotation>
               <xsd:documentation>This reference indicates that a DataTransformation is intended in the context of the ClientServerOperationMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationMapping.firstToSecondDataTransformation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-TRANSFORMATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>Second to-be-mapped ClientServerOperation of a ClientServerInterface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationMapping.secondOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ClientServerOperationMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-OPERATION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular ClientServerOperations in context of two different ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerOperationMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-OPERATION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerPrimitiveTypeMapping -->
   <xsd:group name="CLIENT-SERVER-PRIMITIVE-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of an argument with a primitive datatype to a signal.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerPrimitiveTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an argument in the context of the mappedOperation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerPrimitiveTypeMapping.argument";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ARGUMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the system signal used to carry the argument</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerPrimitiveTypeMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerPrimitiveTypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-PRIMITIVE-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of an argument with a primitive datatype to a signal.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerPrimitiveTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-PRIMITIVE-TYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerRecordElementMapping -->
   <xsd:group name="CLIENT-SERVER-RECORD-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a primitive record element to a SystemSignal. If the ArgumentDataPrototype that is referenced by ClientServerCompositeTypeMapping is typed by an ApplicationDataType the reference to the ApplicationRecordElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference to the ImplementationRecordElement shall be used. 

If the element is composite, there will be no mapping (multiplicity 0). In this case the "RecordElementMapping" Element will aggregate the "TypeMapping" Element. In that way also the composite datatypes can be mapped to SystemSignals. 

Regardless whether composite or primitive record element is mapped the record element always needs to be specified.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerRecordElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-RECORD-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a applicationRecordElement in the context of the mappedOperation or in the context of a composite element. This reference shall only be used if the ArgumentDataPrototype that is referenced by the ClientServerCompositeTypeMapping is typed by an ApplicationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerRecordElementMapping.applicationRecordElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-RECORD-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPLEX-TYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>This aggregation will be used if the element is  composite.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerRecordElementMapping.complexTypeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-ARRAY-TYPE-MAPPING" type="AR:CLIENT-SERVER-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="CLIENT-SERVER-RECORD-TYPE-MAPPING" type="AR:CLIENT-SERVER-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-RECORD-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a ImplementationRecordElement in the context of the mappedOperation or in the context of a composite element. This reference shall only be used if the ArgumentDataPrototype that is referenced by the ClientServerCompositeTypeMapping is typed by an ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerRecordElementMapping.implementationRecordElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the system signal used to carry the primitive ApplicationRecordElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerRecordElementMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerRecordElementMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-RECORD-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a primitive record element to a SystemSignal. If the ArgumentDataPrototype that is referenced by ClientServerCompositeTypeMapping is typed by an ApplicationDataType the reference to the ApplicationRecordElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference to the ImplementationRecordElement shall be used. 

If the element is composite, there will be no mapping (multiplicity 0). In this case the "RecordElementMapping" Element will aggregate the "TypeMapping" Element. In that way also the composite datatypes can be mapped to SystemSignals. 

Regardless whether composite or primitive record element is mapped the record element always needs to be specified.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerRecordElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-RECORD-ELEMENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerRecordTypeMapping -->
   <xsd:group name="CLIENT-SERVER-RECORD-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is a Record, the "RecordTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerRecordTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECORD-ELEMENT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Each ApplicationRecordElement must be mapped on a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerRecordTypeMapping.recordElementMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-RECORD-ELEMENT-MAPPING" type="AR:CLIENT-SERVER-RECORD-ELEMENT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerRecordTypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-RECORD-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is a Record, the "RecordTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerRecordTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CLIENT-SERVER-COMPOSITE-TYPE-MAPPING"/>
         <xsd:group ref="AR:CLIENT-SERVER-RECORD-TYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerToSignalGroupMapping -->
   <xsd:group name="CLIENT-SERVER-TO-SIGNAL-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This mapping is deprecated and will be removed in future. It is replaced by the ClientServerToSignalMapping.

Old description:
Mapping of client server operation arguments to signals of a signal group. Arguments with a primitive datatype will be mapped via the "ClientServerPrimitiveTypeMapping" element. 
Arguments with composite datatypes will be mapped via the "CompositeTypeMapping" element.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-ERROR" type="AR:APPLICATION-ERROR-MAPPING">
            <xsd:annotation>
               <xsd:documentation>In client server communication, the server may return any value within the application error range.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping.applicationError";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-ID" type="AR:CLIENT-ID-MAPPING">
            <xsd:annotation>
               <xsd:documentation>In case of a server on one ECU with multiple clients on other ECUs, the client server communication shall use different unique COM signals and signal groups for each client to allow the identification of the client associated with each system signal.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping.clientID";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPOSITE-TYPE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Mapping of arguments with composite datatypes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping.compositeTypeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-ARRAY-TYPE-MAPPING" type="AR:CLIENT-SERVER-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="CLIENT-SERVER-RECORD-TYPE-MAPPING" type="AR:CLIENT-SERVER-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EMPTY-SIGNAL" type="AR:EMPTY-SIGNAL-MAPPING">
            <xsd:annotation>
               <xsd:documentation>An emptySignal is created if no actual data is configured for a client-server communication, but if the RTE shall send a SignalGroup to initiate the communication.
An EmptySignalMapping shall only reference a SystemSignal that is referenced by an ISignal with length equal to zero.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping.emptySignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-OPERATION-IREF" type="AR:OPERATION-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Operation, which is mapped to a signal group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalGroupMapping.mappedOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIMITIVE-TYPE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Mapping of an argument with a primitive datatype to a signal.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping.primitiveTypeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-PRIMITIVE-TYPE-MAPPING" type="AR:CLIENT-SERVER-PRIMITIVE-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the signal group which contains the references to request signals used to transport the IN and INOUT arguments of the operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalGroupMapping.requestGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the signal group which contains the references to response signals used to transport the OUT and INOUT arguments of the operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalGroupMapping.responseGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEQUENCE-COUNTER" type="AR:SEQUENCE-COUNTER-MAPPING">
            <xsd:annotation>
               <xsd:documentation>The purpose of sequence counters is to map a response to the correct request of a known client.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping.sequenceCounter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerToSignalGroupMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-TO-SIGNAL-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This mapping is deprecated and will be removed in future. It is replaced by the ClientServerToSignalMapping.

Old description:
Mapping of client server operation arguments to signals of a signal group. Arguments with a primitive datatype will be mapped via the "ClientServerPrimitiveTypeMapping" element. 
Arguments with composite datatypes will be mapped via the "CompositeTypeMapping" element.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-MAPPING"/>
         <xsd:group ref="AR:CLIENT-SERVER-TO-SIGNAL-GROUP-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::ClientServerToSignalMapping -->
   <xsd:group name="CLIENT-SERVER-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This element maps the ClientServerOperation to call- and return-SystemSignals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALL-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the callSignal to which the IN and INOUT ArgumentDataPrototypes are mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalMapping.callSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVER-OPERATION-IREF" type="AR:OPERATION-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a ClientServerOperation, which is mapped to a call SystemSignal and a return SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalMapping.clientServerOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LENGTH-CLIENT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the length of the used client identifier in bits.  If the attribute does not exist or its value is set to 0 this means that the client identifier is not used.

Please note that this attribute is deprecated and will be removed in future (Value is fixed to UInt16).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="ClientServerToSignalMapping.lengthClientId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LENGTH-SEQUENCE-COUNTER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The purpose of a sequence counter is to map a response to the correct request of a known client. This attribute describes the length of the used sequence counter in bits. If the attribute does not exist or its value is set to 0 this means that the sequence counter is not used.

Please note that this attribute is deprecated and will be removed in future (Value is fixed to UInt16).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="ClientServerToSignalMapping.lengthSequenceCounter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RETURN-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the returnSignal to which the OUT and INOUT ArgumentDataPrototypes are mapped.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="ClientServerToSignalMapping.returnSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERIALIZER-REF">
            <xsd:annotation>
               <xsd:documentation>The reference is set to obsolete. Use ISignal.dataTransformation instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="ClientServerToSignalMapping.serializer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SERIALIZATION-TECHNOLOGY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::ClientServerToSignalMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CLIENT-SERVER-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This element maps the ClientServerOperation to call- and return-SystemSignals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ClientServerToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-MAPPING"/>
         <xsd:group ref="AR:CLIENT-SERVER-TO-SIGNAL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Implementation::Code -->
   <xsd:group name="CODE">
      <xsd:annotation>
         <xsd:documentation>A generic code descriptor. The type of the code (source or object) is defined via the category attribute of the associated engineering object.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Code"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARTIFACT-DESCRIPTORS">
            <xsd:annotation>
               <xsd:documentation>Refers to the artifact belonging to this code descriptor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Code.artifactDescriptor";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-ENGINEERING-OBJECT" type="AR:AUTOSAR-ENGINEERING-OBJECT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLBACK-HEADER-REFS">
            <xsd:annotation>
               <xsd:documentation>The association callbackHeader describes in which header files the function declarations of callback functions are provided to a service module.
With this information the service module can include the appropriate header files in its configuration files.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Code.callbackHeader";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CALLBACK-HEADER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SERVICE-NEEDS--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Implementation::Code -->
   <xsd:complexType abstract="false" mixed="false" name="CODE">
      <xsd:annotation>
         <xsd:documentation>A generic code descriptor. The type of the code (source or object) is defined via the category attribute of the associated engineering object.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Code"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ElementCollection::CollectableElement -->
   <xsd:group name="COLLECTABLE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies the ability to be part of a specific  AUTOSAR collection of ARPackages or ARElements.

The scope of collection has been extended beyond CollectableElement with Revision 4.0.3. For compatibility reasons the name of this meta Class was not changed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CollectableElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="COLLECTABLE-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR-ELEMENT"/>
         <xsd:enumeration value="AR-PACKAGE"/>
         <xsd:enumeration value="ABSTRACT-CAN-CLUSTER"/>
         <xsd:enumeration value="ABSTRACT-ETHERNET-FRAME"/>
         <xsd:enumeration value="ACL-OBJECT-SET"/>
         <xsd:enumeration value="ACL-OPERATION"/>
         <xsd:enumeration value="ACL-PERMISSION"/>
         <xsd:enumeration value="ACL-ROLE"/>
         <xsd:enumeration value="ALIAS-NAME-SET"/>
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-PARTITION"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-TYPE"/>
         <xsd:enumeration value="BASE-TYPE"/>
         <xsd:enumeration value="BLUEPRINT-MAPPING-SET"/>
         <xsd:enumeration value="BSW-ENTRY-RELATIONSHIP-SET"/>
         <xsd:enumeration value="BSW-IMPLEMENTATION"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-MODULE-ENTRY"/>
         <xsd:enumeration value="BSW-MODULE-TIMING"/>
         <xsd:enumeration value="BUILD-ACTION-MANIFEST"/>
         <xsd:enumeration value="CALIBRATION-PARAMETER-VALUE-SET"/>
         <xsd:enumeration value="CAN-CLUSTER"/>
         <xsd:enumeration value="CAN-FRAME"/>
         <xsd:enumeration value="CAN-TP-CONFIG"/>
         <xsd:enumeration value="CLIENT-ID-DEFINITION-SET"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING"/>
         <xsd:enumeration value="COLLECTABLE-ELEMENT"/>
         <xsd:enumeration value="COLLECTION"/>
         <xsd:enumeration value="COMMUNICATION-CLUSTER"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPU-METHOD"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS-BLUEPRINT-SET"/>
         <xsd:enumeration value="CONSTANT-SPECIFICATION"/>
         <xsd:enumeration value="CONSTANT-SPECIFICATION-MAPPING-SET"/>
         <xsd:enumeration value="CONTAINER-I-PDU"/>
         <xsd:enumeration value="COUPLING-ELEMENT"/>
         <xsd:enumeration value="DATA-CONSTR"/>
         <xsd:enumeration value="DATA-EXCHANGE-POINT"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="DATA-TRANSFORMATION-SET"/>
         <xsd:enumeration value="DATA-TYPE-MAPPING-SET"/>
         <xsd:enumeration value="DCM-I-PDU"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-ACCESS-PERMISSION"/>
         <xsd:enumeration value="DIAGNOSTIC-AGING"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-CONNECTION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTRIBUTION-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-INSTANCE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-FUNCTION-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-INDICATOR"/>
         <xsd:enumeration value="DIAGNOSTIC-INFO-TYPE"/>
         <xsd:enumeration value="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-NODE"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-PROTOCOL"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-LEVEL"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-TABLE"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-RESULT"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-OBD"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DO-IP-TP-CONFIG"/>
         <xsd:enumeration value="DOCUMENTATION"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECU-INSTANCE"/>
         <xsd:enumeration value="ECU-TIMING"/>
         <xsd:enumeration value="ECUC-DEFINITION-COLLECTION"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF-SET"/>
         <xsd:enumeration value="ECUC-MODULE-CONFIGURATION-VALUES"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="ECUC-VALUE-COLLECTION"/>
         <xsd:enumeration value="END-TO-END-PROTECTION-SET"/>
         <xsd:enumeration value="ENUMERATION-MAPPING-TABLE"/>
         <xsd:enumeration value="ETHERNET-CLUSTER"/>
         <xsd:enumeration value="ETHERNET-FRAME"/>
         <xsd:enumeration value="EVALUATED-VARIANT-SET"/>
         <xsd:enumeration value="FM-FEATURE"/>
         <xsd:enumeration value="FM-FEATURE-MAP"/>
         <xsd:enumeration value="FM-FEATURE-MODEL"/>
         <xsd:enumeration value="FM-FEATURE-SELECTION-SET"/>
         <xsd:enumeration value="FIBEX-ELEMENT"/>
         <xsd:enumeration value="FLAT-MAP"/>
         <xsd:enumeration value="FLEXRAY-AR-TP-CONFIG"/>
         <xsd:enumeration value="FLEXRAY-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-FRAME"/>
         <xsd:enumeration value="FLEXRAY-TP-CONFIG"/>
         <xsd:enumeration value="FRAME"/>
         <xsd:enumeration value="GATEWAY"/>
         <xsd:enumeration value="GENERAL-PURPOSE-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-PDU"/>
         <xsd:enumeration value="GENERIC-ETHERNET-FRAME"/>
         <xsd:enumeration value="GLOBAL-TIME-DOMAIN"/>
         <xsd:enumeration value="HW-CATEGORY"/>
         <xsd:enumeration value="HW-ELEMENT"/>
         <xsd:enumeration value="HW-TYPE"/>
         <xsd:enumeration value="I-PDU"/>
         <xsd:enumeration value="I-PV-6-EXT-HEADER-FILTER-SET"/>
         <xsd:enumeration value="I-SIGNAL"/>
         <xsd:enumeration value="I-SIGNAL-GROUP"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU-GROUP"/>
         <xsd:enumeration value="IEEE-1722-TP-ETHERNET-FRAME"/>
         <xsd:enumeration value="IMPLEMENTATION"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="INTERPOLATION-ROUTINE-MAPPING-SET"/>
         <xsd:enumeration value="J-1939-CLUSTER"/>
         <xsd:enumeration value="J-1939-CONTROLLER-APPLICATION"/>
         <xsd:enumeration value="J-1939-DCM-I-PDU"/>
         <xsd:enumeration value="J-1939-TP-CONFIG"/>
         <xsd:enumeration value="KEYWORD-SET"/>
         <xsd:enumeration value="LIFE-CYCLE-INFO-SET"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
         <xsd:enumeration value="LIN-CLUSTER"/>
         <xsd:enumeration value="LIN-EVENT-TRIGGERED-FRAME"/>
         <xsd:enumeration value="LIN-FRAME"/>
         <xsd:enumeration value="LIN-SPORADIC-FRAME"/>
         <xsd:enumeration value="LIN-TP-CONFIG"/>
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
         <xsd:enumeration value="MC-FUNCTION"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING-SET"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="MULTIPLEXED-I-PDU"/>
         <xsd:enumeration value="N-PDU"/>
         <xsd:enumeration value="NM-CONFIG"/>
         <xsd:enumeration value="NM-PDU"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="PACKAGEABLE-ELEMENT"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PDU"/>
         <xsd:enumeration value="PDUR-I-PDU-GROUP"/>
         <xsd:enumeration value="PHYSICAL-DIMENSION"/>
         <xsd:enumeration value="PHYSICAL-DIMENSION-MAPPING-SET"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING-SET"/>
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION-VALUE-SET"/>
         <xsd:enumeration value="PREDEFINED-VARIANT"/>
         <xsd:enumeration value="RAPID-PROTOTYPING-SCENARIO"/>
         <xsd:enumeration value="SDG-DEF"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-PROPS-SET"/>
         <xsd:enumeration value="SECURED-I-PDU"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERIALIZATION-TECHNOLOGY"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SO-AD-ROUTING-GROUP"/>
         <xsd:enumeration value="SOMEIP-TP-CONFIG"/>
         <xsd:enumeration value="SW-ADDR-METHOD"/>
         <xsd:enumeration value="SW-AXIS-TYPE"/>
         <xsd:enumeration value="SW-BASE-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-RECORD-LAYOUT"/>
         <xsd:enumeration value="SW-SYSTEMCONST"/>
         <xsd:enumeration value="SW-SYSTEMCONSTANT-VALUE-SET"/>
         <xsd:enumeration value="SWC-BSW-MAPPING"/>
         <xsd:enumeration value="SWC-IMPLEMENTATION"/>
         <xsd:enumeration value="SWC-TIMING"/>
         <xsd:enumeration value="SYSTEM"/>
         <xsd:enumeration value="SYSTEM-SIGNAL"/>
         <xsd:enumeration value="SYSTEM-SIGNAL-GROUP"/>
         <xsd:enumeration value="SYSTEM-TIMING"/>
         <xsd:enumeration value="TCP-OPTION-FILTER-SET"/>
         <xsd:enumeration value="TIMING-EXTENSION"/>
         <xsd:enumeration value="TP-CONFIG"/>
         <xsd:enumeration value="TRANSFORMATION-PROPS-SET"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
         <xsd:enumeration value="TTCAN-CLUSTER"/>
         <xsd:enumeration value="UNIT"/>
         <xsd:enumeration value="UNIT-GROUP"/>
         <xsd:enumeration value="USER-DEFINED-CLUSTER"/>
         <xsd:enumeration value="USER-DEFINED-ETHERNET-FRAME"/>
         <xsd:enumeration value="USER-DEFINED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PDU"/>
         <xsd:enumeration value="VFB-TIMING"/>
         <xsd:enumeration value="VIEW-MAP-SET"/>
         <xsd:enumeration value="XCP-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ElementCollection::Collection -->
   <xsd:group name="COLLECTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies a collection of elements. A collection can be utilized to express additional aspects for a set of elements. 

Note that Collection is an ARElement. Therefore it is applicable e.g. for EvaluatedVariant, even if this is not obvious.

Usually the category of a Collection is "SET". On the other hand, a Collection can also express an arbitrary relationship between elements. This is denoted by the category "RELATION" (see also [TPS_GST_00347]). 

In this case the collection represents an association from "sourceElement" to "targetElement" in the role "role".</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Collections";mmt.qualifiedName="Collection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTO-COLLECT" type="AR:AUTO-COLLECT-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute reflects how far the referenced objects are part of the collection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Collection.autoCollect";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENT-ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute allows to denote a particular role of the collection. Note that the applicable semantics shall be mutually agreed between the two parties.

In particular it denotes the role of element in the context of sourceElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Collection.elementRole";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>This is an element in the collection. Note that Collection itself is collectable. Therefore collections can be nested.

In case of category="RELATION" this represents the target end of the relation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Collection.element";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:IDENTIFIABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>Only if Category = "RELATION". This represents the source of a relation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Collection.sourceElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOURCE-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:IDENTIFIABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COLLECTED-INSTANCE-IREFS">
            <xsd:annotation>
               <xsd:documentation>This instance ref supports the use case that a particular instance is part of the collection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Collection.collectedInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COLLECTED-INSTANCE-IREF" type="AR:ANY-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-INSTANCE-IREFS">
            <xsd:annotation>
               <xsd:documentation>Only if Category = "RELATION". This represents the source instance of a relation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Collection.sourceInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOURCE-INSTANCE-IREF" type="AR:ANY-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ElementCollection::Collection -->
   <xsd:complexType abstract="false" mixed="false" name="COLLECTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies a collection of elements. A collection can be utilized to express additional aspects for a set of elements. 

Note that Collection is an ARElement. Therefore it is applicable e.g. for EvaluatedVariant, even if this is not obvious.

Usually the category of a Collection is "SET". On the other hand, a Collection can also express an arbitrary relationship between elements. This is denoted by the category "RELATION" (see also [TPS_GST_00347]). 

In this case the collection represents an association from "sourceElement" to "targetElement" in the role "role".</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Collections";mmt.qualifiedName="Collection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:COLLECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="COLLECTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COLLECTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class OasisExchangeTable::Colspec -->
   <xsd:group name="COLSPEC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the properties of a column in a  table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Colspec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class OasisExchangeTable::Colspec -->
   <xsd:attributeGroup name="COLSPEC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the properties of a column in a  table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Colspec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ALIGN" type="AR:ALIGN-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies how the cell entries shall be horizontally aligned within the specified column.
Default is "LEFT"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Colspec.align";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLNAME" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies the name of the column.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Colspec.colname";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLNUM" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>column number (allows to sort the columns).</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Colspec.colnum";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates whether a line should be displayed right of this column in the column specification.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Colspec.colsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLWIDTH" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Width of the column.
You can enter absolute values such as 4 cm, 
or relative values marked with * (e.g.,  2* for column widths double those of other columns with 1*).
The unit can be added to the number in the string. Possible units are: cm, mm, px, pt.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Colspec.colwidth";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ROWSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates whether a line should be displayed at the bottom end of the cells of the column defined in the Colspec.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Colspec.rowsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class OasisExchangeTable::Colspec -->
   <xsd:complexType abstract="false" mixed="false" name="COLSPEC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the properties of a column in a  table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Colspec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COLSPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:COLSPEC"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ComMgrUserNeeds -->
   <xsd:group name="COM-MGR-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Communication Manager for one "user".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComMgrUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-COMM-MODE" type="AR:MAX-COMM-MODE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Maximum communication mode requested by this ComM user.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComMgrUserNeeds.maxCommMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ComMgrUserNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="COM-MGR-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Communication Manager for one "user".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComMgrUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:COM-MGR-USER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::CommConnectorPort -->
   <xsd:group name="COMM-CONNECTOR-PORT">
      <xsd:annotation>
         <xsd:documentation>The Ecu communication relationship defines which signals, Pdus and frames are actually received and transmitted by this ECU. 

For each signal, Pdu or Frame that is transmitted or received and used by the Ecu an association between an ISignalPort, IPduPort or FramePort with the corresponding Triggering shall be created. 
An ISignalPort shall be created only if the corresponding signal is handled by COM (RTE or Signal Gateway). If a Pdu Gateway ECU only routes the Pdu without being interested in the content only a FramePort and an IPduPort needs to be created.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommConnectorPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-DIRECTION" type="AR:COMMUNICATION-DIRECTION-TYPE">
            <xsd:annotation>
               <xsd:documentation>Communication Direction of the Connector Port (input or output Port).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommConnectorPort.communicationDirection";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommConnectorPort.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SignalPaths::CommonSignalPath -->
   <xsd:group name="COMMON-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The CommonSignalPath describes that two or more SwcToSwcSignals and/or SwcToSwcOperationArguments must take the same way (Signal Path) in the topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommonSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATIONS">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommonSignalPath.operation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-OPERATION-ARGUMENTS" type="AR:SWC-TO-SWC-OPERATION-ARGUMENTS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNALS">
            <xsd:annotation>
               <xsd:documentation>The SwcToSwcSignals that must take the same way (Signal Path) in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommonSignalPath.signal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-SIGNAL" type="AR:SWC-TO-SWC-SIGNAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SignalPaths::CommonSignalPath -->
   <xsd:complexType abstract="false" mixed="false" name="COMMON-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The CommonSignalPath describes that two or more SwcToSwcSignals and/or SwcToSwcOperationArguments must take the same way (Signal Path) in the topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommonSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SIGNAL-PATH-CONSTRAINT"/>
         <xsd:group ref="AR:COMMON-SIGNAL-PATH"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortAPIOptions::CommunicationBufferLocking -->
   <xsd:group name="COMMUNICATION-BUFFER-LOCKING">
      <xsd:annotation>
         <xsd:documentation>The aggregation of this meta-class specifies that a RunnableEntity supports locked communication buffers supplied by the RTE. It is able to cope with the error RTE_E_COM_BUSY.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationBufferLocking"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORT-BUFFER-LOCKING" type="AR:SUPPORT-BUFFER-LOCKING-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to indicate the intended buffer locking behavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationBufferLocking.supportBufferLocking";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortAPIOptions::CommunicationBufferLocking -->
   <xsd:complexType abstract="false" mixed="false" name="COMMUNICATION-BUFFER-LOCKING">
      <xsd:annotation>
         <xsd:documentation>The aggregation of this meta-class specifies that a RunnableEntity supports locked communication buffers supplied by the RTE. It is able to cope with the error RTE_E_COM_BUSY.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationBufferLocking"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-SUPPORTED-FEATURE"/>
         <xsd:group ref="AR:COMMUNICATION-BUFFER-LOCKING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::CommunicationCluster -->
   <xsd:group name="COMMUNICATION-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>The CommunicationCluster is the main element to describe the topological connection of communicating ECUs.

A cluster describes the ensemble of ECUs, which are linked by a communication medium of arbitrary topology (bus, star, ring, ...). The nodes within the cluster share the same communication protocol, which may be event-triggered, time-triggered or a combination of both.

A CommunicationCluster aggregates one or more physical channels.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationCluster";vh.latestBindingTime="postBuild"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="COMMUNICATION-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-CAN-CLUSTER"/>
         <xsd:enumeration value="CAN-CLUSTER"/>
         <xsd:enumeration value="COMMUNICATION-CLUSTER"/>
         <xsd:enumeration value="ETHERNET-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-CLUSTER"/>
         <xsd:enumeration value="J-1939-CLUSTER"/>
         <xsd:enumeration value="LIN-CLUSTER"/>
         <xsd:enumeration value="TTCAN-CLUSTER"/>
         <xsd:enumeration value="USER-DEFINED-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreTopology::CommunicationClusterContent -->
   <xsd:group name="COMMUNICATION-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BAUDRATE" type="AR:POSITIVE-UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Channels speed in bits/s.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationCluster.baudrate";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-CHANNELS">
            <xsd:annotation>
               <xsd:documentation>This relationship defines which channel element belongs to which cluster. A channel must be assigned to exactly one cluster, whereas a cluster may have one or more channels.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="CommunicationCluster.physicalChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-PHYSICAL-CHANNEL" type="AR:CAN-PHYSICAL-CHANNEL"/>
                  <xsd:element name="ETHERNET-PHYSICAL-CHANNEL" type="AR:ETHERNET-PHYSICAL-CHANNEL"/>
                  <xsd:element name="FLEXRAY-PHYSICAL-CHANNEL" type="AR:FLEXRAY-PHYSICAL-CHANNEL"/>
                  <xsd:element name="LIN-PHYSICAL-CHANNEL" type="AR:LIN-PHYSICAL-CHANNEL"/>
                  <xsd:element name="TTCAN-PHYSICAL-CHANNEL" type="AR:TTCAN-PHYSICAL-CHANNEL"/>
                  <xsd:element name="USER-DEFINED-PHYSICAL-CHANNEL" type="AR:USER-DEFINED-PHYSICAL-CHANNEL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>The name of the protocol used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationCluster.protocolName";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>The version of the protocol used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationCluster.protocolVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPEED" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and is replaced by the attribute "baudrate". 

Old description: Channels speed in kbps.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="CommunicationCluster.speed";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CoreTopology::CommunicationConnector -->
   <xsd:group name="COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>The connection between the referencing ECU and the referenced channel via the referenced controller.

Connectors are used to describe the bus interfaces of the ECUs and to specify the sending/receiving behavior. 
Each CommunicationConnector has a reference to exactly one communicationController. 

Note: Several CommunicationConnectors can be assigned to one PhysicalChannel in the scope of one ECU Instance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMM-CONTROLLER-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the communication controller.
The CommunicationConnector and referenced CommunicationController must be aggregated by the same ECUInstance. 

The communicationController can be referenced by several CommunicationConnector elements. This is important for the FlexRay Bus. FlexRay communicates via two physical channels. But only one controller in an ECU is responsible for both channels. Thus, two connectors (for channel A and for channel B) must reference to the same controller.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector.commController";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONTROLLER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-COMM-PORT-INSTANCES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector.ecuCommPortInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FRAME-PORT" type="AR:FRAME-PORT"/>
                  <xsd:element name="I-PDU-PORT" type="AR:I-PDU-PORT"/>
                  <xsd:element name="I-SIGNAL-PORT" type="AR:I-SIGNAL-PORT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-GATEWAY-TYPE" type="AR:PNC-GATEWAY-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines if this EcuInstance shall implement the PncGateway functionality on this CommunicationConnector and its respective PhysicalChannel. Several EcuInstances on the same PhysicalChannel can have the PncGateway functionality enabled, but only one of them shall have the pncGatewayType "active".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector.pncGatewayType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="COMMUNICATION-CONNECTOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="LIN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="TTCAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="USER-DEFINED-COMMUNICATION-CONNECTOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreTopology::CommunicationConnectorRefConditional -->
   <xsd:group name="COMMUNICATION-CONNECTOR-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CONNECTOR-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnectorRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreTopology::CommunicationConnectorRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="COMMUNICATION-CONNECTOR-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::CommunicationController -->
   <xsd:group name="COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>The communication controller is a dedicated hardware device by means of which hosts are sending frames to and receiving frames from the communication medium.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationController";vh.latestBindingTime="postBuild"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="COMMUNICATION-CONTROLLER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="LIN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="LIN-MASTER"/>
         <xsd:enumeration value="LIN-SLAVE"/>
         <xsd:enumeration value="TTCAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="USER-DEFINED-COMMUNICATION-CONTROLLER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreTopology::CommunicationControllerContent -->
   <xsd:group name="COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKE-UP-BY-CONTROLLER-SUPPORTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether the ECU shall be woken up by this CommunicationController.
TRUE: wake up is possible
FALSE: wake up is not supported
Note: If wakeUpByControllerSupported is set to TRUE the feature shall be supported by both hardware and basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationController.wakeUpByControllerSupported";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUResourceMapping::CommunicationControllerMapping -->
   <xsd:group name="COMMUNICATION-CONTROLLER-MAPPING">
      <xsd:annotation>
         <xsd:documentation>CommunicationControllerMapping specifies the CommunicationPeripheral
hardware (defined in the ECU Resource Template) to realize the specified CommunicationController in a physical topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationControllerMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CONTROLLER-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the CommunicationController in the System Template</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationControllerMapping.communicationController";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONTROLLER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-COMMUNICATION-CONTROLLER-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a HwElement of category CommunicationController in the ECU Resource Template.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationControllerMapping.hwCommunicationController";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUResourceMapping::CommunicationControllerMapping -->
   <xsd:complexType abstract="false" mixed="false" name="COMMUNICATION-CONTROLLER-MAPPING">
      <xsd:annotation>
         <xsd:documentation>CommunicationControllerMapping specifies the CommunicationPeripheral
hardware (defined in the ECU Resource Template) to realize the specified CommunicationController in a physical topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationControllerMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::CommunicationCycle -->
   <xsd:group name="COMMUNICATION-CYCLE">
      <xsd:annotation>
         <xsd:documentation>The communication cycle where the frame is sent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationCycle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Implementation::Compiler -->
   <xsd:group name="COMPILER">
      <xsd:annotation>
         <xsd:documentation>Specifies the compiler attributes. In case of source code this specifies requirements how the compiler shall be invoked. In case of object code this documents the used compiler settings.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Compiler"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Compiler name (like gcc).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Compiler.name";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPTIONS" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the compiler options.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Compiler.options";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VENDOR" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Vendor of compiler.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Compiler.vendor";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Exact version of compiler executable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Compiler.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Implementation::Compiler -->
   <xsd:complexType abstract="false" mixed="false" name="COMPILER">
      <xsd:annotation>
         <xsd:documentation>Specifies the compiler attributes. In case of source code this specifies requirements how the compiler shall be invoked. In case of object code this documents the used compiler settings.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Compiler"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMPILER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::ComplexDeviceDriverSwComponentType -->
   <xsd:group name="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ComplexDeviceDriverSwComponentType is a special AtomicSwComponentType that has direct access to hardware on an ECU and which is therefore linked to a specific ECU or specific hardware. The ComplexDeviceDriverSwComponentType introduces the possibility to link from the software representation to its hardware description provided by the ECU Resource Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ComplexDeviceDriverSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HARDWARE-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference from the ComplexDeviceDriverSwComponentType to the description of the used HwElements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComplexDeviceDriverSwComponentType.hardwareElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HARDWARE-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-DESCRIPTION-ENTITY--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::ComplexDeviceDriverSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ComplexDeviceDriverSwComponentType is a special AtomicSwComponentType that has direct access to hardware on an ECU and which is therefore linked to a specific ECU or specific hardware. The ComplexDeviceDriverSwComponentType introduces the possibility to link from the software representation to its hardware description provided by the ECU Resource Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ComplexDeviceDriverSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::ComponentClustering -->
   <xsd:group name="COMPONENT-CLUSTERING">
      <xsd:annotation>
         <xsd:documentation>Constraint that forces the mapping of all referenced SW component instances  to the same ECU, Core, Partition depending on the defined mappingScope attribute.  If mappingScope is not specified then mappingScopeEcu shall be assumed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentClustering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLUSTERED-COMPONENT-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the components that have to be mapped together.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentClustering.clusteredComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLUSTERED-COMPONENT-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPING-SCOPE" type="AR:MAPPING-SCOPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates whether the ComponentClustering mapping constraint applies to different ECUs, partitions or cores. If this attribute is not specified then mappingScopeEcu shall be assumed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="ComponentClustering.mappingScope";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::ComponentClustering -->
   <xsd:complexType abstract="false" mixed="false" name="COMPONENT-CLUSTERING">
      <xsd:annotation>
         <xsd:documentation>Constraint that forces the mapping of all referenced SW component instances  to the same ECU, Core, Partition depending on the defined mappingScope attribute.  If mappingScope is not specified then mappingScopeEcu shall be assumed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentClustering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MAPPING-CONSTRAINT"/>
         <xsd:group ref="AR:COMPONENT-CLUSTERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::ComponentInCompositionInstanceRef -->
   <xsd:group name="COMPONENT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>The ComponentInCompositionInstanceRef points to a concrete SwComponentPrototype within a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:documentation>The context for the scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInCompositionInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInCompositionInstanceRef.targetComponent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::ComponentInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="COMPONENT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>The ComponentInCompositionInstanceRef points to a concrete SwComponentPrototype within a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::ComponentInSystemInstanceRef -->
   <xsd:group name="COMPONENT-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInSystemInstanceRef.targetComponent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::ComponentInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="COMPONENT-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::ComponentSeparation -->
   <xsd:group name="COMPONENT-SEPARATION">
      <xsd:annotation>
         <xsd:documentation>Constraint that forces the two referenced SW components (called A and B in the following) not to be mapped to the same ECU, Core, Partition depending on the defined mappingScope attribute. If mappingScope is not specified then mappingScopeEcu shall be assumed. 

If a SW component (e.g. A) is a composition, none of the atomic SW components making up the A composition must be mapped together with any of the atomic SW components making up the B composition. Furthermore, A and B must be disjoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentSeparation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPING-SCOPE" type="AR:MAPPING-SCOPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates whether the ComponentSeparation mapping constraint applies to different ECUs, partitions or cores. If this attribute is not specified then mappingScopeEcu shall be assumed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="ComponentSeparation.mappingScope";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEPARATED-COMPONENT-IREFS">
            <xsd:annotation>
               <xsd:documentation>The two components that have to be mapped to different ECUs</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ComponentSeparation.separatedComponent";pureMM.maxOccurs="2";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="SEPARATED-COMPONENT-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::ComponentSeparation -->
   <xsd:complexType abstract="false" mixed="false" name="COMPONENT-SEPARATION">
      <xsd:annotation>
         <xsd:documentation>Constraint that forces the two referenced SW components (called A and B in the following) not to be mapped to the same ECU, Core, Partition depending on the defined mappingScope attribute. If mappingScope is not specified then mappingScopeEcu shall be assumed. 

If a SW component (e.g. A) is a composition, none of the atomic SW components making up the A composition must be mapped together with any of the atomic SW components making up the B composition. Furthermore, A and B must be disjoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ComponentSeparation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MAPPING-CONSTRAINT"/>
         <xsd:group ref="AR:COMPONENT-SEPARATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::CompositeNetworkRepresentation -->
   <xsd:group name="COMPOSITE-NETWORK-REPRESENTATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to define the network representation of leaf elements of composite application data types.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompositeNetworkRepresentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LEAF-ELEMENT-IREF" type="AR:APPLICATION-COMPOSITE-ELEMENT-IN-PORT-INTERFACE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents that leaf element of an application composite data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompositeNetworkRepresentation.leafElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-REPRESENTATION" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>The SwDataDefProps owned by the CompositeNetworkRepresentation are used to define the network representation of the leaf element of an ApplicationCompositeDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompositeNetworkRepresentation.networkRepresentation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::CompositeNetworkRepresentation -->
   <xsd:complexType abstract="false" mixed="false" name="COMPOSITE-NETWORK-REPRESENTATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to define the network representation of leaf elements of composite application data types.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompositeNetworkRepresentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPOSITE-NETWORK-REPRESENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::CompositeRuleBasedValueSpecification -->
   <xsd:group name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents rule based values for DataPrototypes typed by composite ApplicationDataTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompositeRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RULE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This denotes the name of the rule of the RuleBasedValueSpecification. The rule determines the calculation specification according which the arguments are used to calculated the values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompositeRuleBasedValueSpecification.rule";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of aggregated ValueSpecifications. The last ValueSpecification in the collection shall be taken to execute the filling rule.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompositeRuleBasedValueSpecification.argument";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SIZE-TO-FILL" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>If a rule is chosen which does not fill until the end, this determines until which size the rule shall fill the values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompositeRuleBasedValueSpecification.maxSizeToFill";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::CompositeRuleBasedValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents rule based values for DataPrototypes typed by composite ApplicationDataTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompositeRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:ABSTRACT-RULE-BASED-VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::CompositeValueSpecification -->
   <xsd:group name="COMPOSITE-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This abstract meta-class acts a base class for ValueSpecifications that have a composite form.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompositeValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Composition::CompositionSwComponentType -->
   <xsd:group name="COMPOSITION-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>A CompositionSwComponentType aggregates SwComponentPrototypes (that in turn are typed by SwComponentTypes) as well as SwConnectors for primarily connecting SwComponentPrototypes among each others and towards the surface of the CompositionSwComponentType. By this means hierarchical structures of software-components can be created.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="CompositionSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENTS">
            <xsd:annotation>
               <xsd:documentation>The instantiated components that are part of this composition.
The aggregation of SwComponentPrototype is subject to variability with the purpose to support the conditional existence of a SwComponentPrototype. Please be aware: if the conditional existence of SwComponentPrototypes is resolved post-build the deselected SwComponentPrototypes are still contained in the ECUs build but the instances are inactive in in that they are not scheduled by the RTE.

The aggregation is marked as atpSplitable in order to allow the addition of service components to the ECU extract during the ECU integration.

The use case for having 0 components owned by the CompositionSwComponentType could be to deliver an empty CompositionSwComponentType to e.g. a supplier for filling the internal structure.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="CompositionSwComponentType.component";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-COMPONENT-PROTOTYPE" type="AR:SW-COMPONENT-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTORS">
            <xsd:annotation>
               <xsd:documentation>SwConnectors have the principal ability to establish a connection among PortPrototypes. They can have many roles in the context of a CompositionSwComponentType. Details are refined by subclasses.

The aggregation of SwConnectors is subject to variability with the purpose to support variant data flow.

The aggregation is marked as atpSplitable in order to allow the extension of the ECU extract with AssemblySwConnectors between ApplicationSwComponentTypes and ServiceSwComponentTypes during the ECU integration.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="CompositionSwComponentType.connector";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ASSEMBLY-SW-CONNECTOR" type="AR:ASSEMBLY-SW-CONNECTOR"/>
                  <xsd:element name="DELEGATION-SW-CONNECTOR" type="AR:DELEGATION-SW-CONNECTOR"/>
                  <xsd:element name="PASS-THROUGH-SW-CONNECTOR" type="AR:PASS-THROUGH-SW-CONNECTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTANT-VALUE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the ConstantSpecificationMapping to be applied for initValues of  PPortComSpecs and RPortComSpec.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="constantValueMapping";mmt.qualifiedName="CompositionSwComponentType.constantValueMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTANT-VALUE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the DataTypeMapping to be applied for the used  ApplicationDataTypes in PortInterfaces.

Background: when developing subsystems it may happen that ApplicationDataTypes are used on the surface of CompositionSwComponentTypes. In this case it would be reasonable to be able to also provide the intended mapping to the ImplementationDataTypes. However, this mapping shall be informal and not technically binding for the implementers mainly because the RTE generator is not concerned about the CompositionSwComponentTypes. 

Rationale: if the mapping of ApplicationDataTypes on the delegated and inner
PortPrototype matches then the mapping to ImplementationDataTypes is not impacting compatibility.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataTypeMapping";mmt.qualifiedName="CompositionSwComponentType.dataTypeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TYPE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DATA-TYPE-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANTIATION-RTE-EVENT-PROPSS">
            <xsd:annotation>
               <xsd:documentation>This allows to define instantiation specific properties for RTE Events, in particular for instance specific scheduling.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortLabel, variationPoint.shortLabel";mmt.qualifiedName="CompositionSwComponentType.instantiationRTEEventProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INSTANTIATION-TIMING-EVENT-PROPS" type="AR:INSTANTIATION-TIMING-EVENT-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Composition::CompositionSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="COMPOSITION-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>A CompositionSwComponentType aggregates SwComponentPrototypes (that in turn are typed by SwComponentTypes) as well as SwConnectors for primarily connecting SwComponentPrototypes among each others and towards the surface of the CompositionSwComponentType. By this means hierarchical structures of software-components can be created.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="CompositionSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:COMPOSITION-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="COMPOSITION-SW-COMPONENT-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ComputationMethod::Compu -->
   <xsd:group name="COMPU">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one particular computation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Compu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:COMPU-SCALES"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-DEFAULT-VALUE" type="AR:COMPU-CONST">
            <xsd:annotation>
               <xsd:documentation>This property can be used to specify an output value for a conversion formula, if the value to be converted lies outside the plausibility limit. Although this is possible for all conversion formulae, it is especially valid for variables with tabular conversion formulae.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Compu.compuDefaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::Compu -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one particular computation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Compu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuConst -->
   <xsd:group name="COMPU-CONST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the value of a computation method scale is constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConst"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:COMPU-CONST-FORMULA-CONTENT"/>
            <xsd:group ref="AR:COMPU-CONST-NUMERIC-CONTENT"/>
            <xsd:group ref="AR:COMPU-CONST-TEXT-CONTENT"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuConst -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-CONST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the value of a computation method scale is constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConst"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-CONST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuConstContent -->
   <xsd:group name="COMPU-CONST-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the constant value of the computation method can be numerical or textual.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ComputationMethod::CompuConstFormulaContent -->
   <xsd:group name="COMPU-CONST-FORMULA-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the constant value of the computation method is represented by a variation point. This difference is due to compatibility with ASAM HDO.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstFormulaContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VF" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Value calculated via a system constant. This element is included in every case where parameters should be generated from numerical values during compile time (not runtime!). 

Thus for example, the influence of the cylinder number on conversion formulae can be introduced in a repeatable manner.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstFormulaContent.vf";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="codeGenerationTime";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuConstFormulaContent -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-CONST-FORMULA-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the constant value of the computation method is represented by a variation point. This difference is due to compatibility with ASAM HDO.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstFormulaContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-CONST-CONTENT"/>
         <xsd:group ref="AR:COMPU-CONST-FORMULA-CONTENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuConstNumericContent -->
   <xsd:group name="COMPU-CONST-NUMERIC-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the constant value of the computation method is a numerical value. It is separated from CompuConstFormulaContent to support compatibility with ASAM HDO.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstNumericContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="V" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the numerical value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstNumericContent.v";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuConstNumericContent -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-CONST-NUMERIC-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the constant value of the computation method is a numerical value. It is separated from CompuConstFormulaContent to support compatibility with ASAM HDO.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstNumericContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-CONST-CONTENT"/>
         <xsd:group ref="AR:COMPU-CONST-NUMERIC-CONTENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuConstTextContent -->
   <xsd:group name="COMPU-CONST-TEXT-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the textual content of a scale.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstTextContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VT" type="AR:VERBATIM-STRING">
            <xsd:annotation>
               <xsd:documentation>This represents a textual constant in the computation method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstTextContent.vt";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuConstTextContent -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-CONST-TEXT-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the textual content of a scale.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuConstTextContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-CONST-CONTENT"/>
         <xsd:group ref="AR:COMPU-CONST-TEXT-CONTENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuContent -->
   <xsd:group name="COMPU-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This abstract meta-class represents the various definition means of a computation method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ComputationMethod::CompuGenericMath -->
   <xsd:group name="COMPU-GENERIC-MATH">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a generic formula expression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuGenericMath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class ComputationMethod::CompuGenericMath -->
   <xsd:attributeGroup name="COMPU-GENERIC-MATH">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a generic formula expression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuGenericMath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="LEVEL" type="AR:PRIMITIVE-IDENTIFIER--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Placeholder to describe an indicator of a language level for the mathematics e.g. INFORMAL, ASAMHDO.
May be refined by particular use-cases.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="CompuGenericMath.level";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class ComputationMethod::CompuGenericMath -->
   <xsd:complexType abstract="false" mixed="true" name="COMPU-GENERIC-MATH">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a generic formula expression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuGenericMath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:COMPU-GENERIC-MATH"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:COMPU-GENERIC-MATH"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuMethod -->
   <xsd:group name="COMPU-METHOD">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express the relationship between a physical value and the mathematical representation. 

Note that this is still independent of the technical implementation in data types. It only specifies the formula how the internal value corresponds to its physical pendant.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CompuMethods";mmt.qualifiedName="CompuMethod"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISPLAY-FORMAT" type="AR:DISPLAY-FORMAT-STRING">
            <xsd:annotation>
               <xsd:documentation>This property specifies, how the physical value shall be displayed e.g. in documents or measurement and calibration tools.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuMethod.displayFormat";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This is the physical unit of the Physical values for which the CompuMethod applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuMethod.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-INTERNAL-TO-PHYS" type="AR:COMPU">
            <xsd:annotation>
               <xsd:documentation>This specifies the computation from internal values to physical values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuMethod.compuInternalToPhys";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-PHYS-TO-INTERNAL" type="AR:COMPU">
            <xsd:annotation>
               <xsd:documentation>This represents the computation from physical values to the internal values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuMethod.compuPhysToInternal";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuMethod -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-METHOD">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express the relationship between a physical value and the mathematical representation. 

Note that this is still independent of the technical implementation in data types. It only specifies the formula how the internal value corresponds to its physical pendant.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CompuMethods";mmt.qualifiedName="CompuMethod"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COMPU-METHOD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="COMPU-METHOD--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COMPU-METHOD"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ComputationMethod::CompuNominatorDenominator -->
   <xsd:group name="COMPU-NOMINATOR-DENOMINATOR">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to express a polynomial either as Nominator or as Denominator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuNominatorDenominator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="V" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>this is the list of polynomial factors. Note that the first vf represents the power=0.  The polynomial is v[0] * x^0 + v[1] * x^1 ...</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuNominatorDenominator.v";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuNominatorDenominator -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-NOMINATOR-DENOMINATOR">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to express a polynomial either as Nominator or as Denominator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuNominatorDenominator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-NOMINATOR-DENOMINATOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuRationalCoeffs -->
   <xsd:group name="COMPU-RATIONAL-COEFFS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a rational function by specifying the coefficients of nominator and denominator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuRationalCoeffs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-NUMERATOR" type="AR:COMPU-NOMINATOR-DENOMINATOR">
            <xsd:annotation>
               <xsd:documentation>This is the numerator of the rational expression.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuRationalCoeffs.compuNumerator";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-DENOMINATOR" type="AR:COMPU-NOMINATOR-DENOMINATOR">
            <xsd:annotation>
               <xsd:documentation>This is the denominator of the expression.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuRationalCoeffs.compuDenominator";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuRationalCoeffs -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-RATIONAL-COEFFS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a rational function by specifying the coefficients of nominator and denominator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuRationalCoeffs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-RATIONAL-COEFFS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuScale -->
   <xsd:group name="COMPU-SCALE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify one segment of a segmented computation method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This element specifies a short name for the particular scale. The name can for example be used to derive a programming language identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The symbol, if provided, is used by code generators to get a C identifier for the CompuScale. The name will be used as is for the code generation, therefore it needs to be unique within the generation context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="25"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>&lt;desc&gt; represents a general but brief description of the object in question.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASK" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>In difference to all the other computational methods every COMPU-SCALE will be applied including the bit MASK. Therefore it is allowed for this type of COMPU-METHOD, that COMPU-SCALES overlap. 

To calculate the string reverse to a value, the string has to be split and the according value for each substring has to be summed up. The sum is finally transmitted.

The processing has to be done in order of the COMPU-SCALE elements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.mask";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="35"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the lower limit of the scale.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.lowerLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the upper limit of a of the scale.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.upperLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-INVERSE-VALUE" type="AR:COMPU-CONST">
            <xsd:annotation>
               <xsd:documentation>This is the inverse value of the constraint. This supports the case that the scale is not reversible per se.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.compuInverseValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:COMPU-SCALE-CONSTANT-CONTENTS"/>
            <xsd:group ref="AR:COMPU-SCALE-RATIONAL-FORMULA"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuScale -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-SCALE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify one segment of a segmented computation method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScale"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-SCALE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuScaleConstantContents -->
   <xsd:group name="COMPU-SCALE-CONSTANT-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that a particular scale of the computation method is constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleConstantContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-CONST" type="AR:COMPU-CONST">
            <xsd:annotation>
               <xsd:documentation>This represents the fact that the scale is a constant. The use case is mainly a non interplolated scale. It is a simplification of the fact that a constant scale can also be expressed as Rational Function of oder 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleConstantContents.compuConst";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuScaleConstantContents -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-SCALE-CONSTANT-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that a particular scale of the computation method is constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleConstantContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-SCALE-CONTENTS"/>
         <xsd:group ref="AR:COMPU-SCALE-CONSTANT-CONTENTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuScaleContents -->
   <xsd:group name="COMPU-SCALE-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This abstract meta-class represents the content of one particular scale.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ComputationMethod::CompuScaleRationalFormula -->
   <xsd:group name="COMPU-SCALE-RATIONAL-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the computation in this scale is represented as rational term.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleRationalFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-RATIONAL-COEFFS" type="AR:COMPU-RATIONAL-COEFFS">
            <xsd:annotation>
               <xsd:documentation>This specifies the coefficients of the rational formula.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleRationalFormula.compuRationalCoeffs";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="110"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuScaleRationalFormula -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-SCALE-RATIONAL-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the fact that the computation in this scale is represented as rational term.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScaleRationalFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-SCALE-CONTENTS"/>
         <xsd:group ref="AR:COMPU-SCALE-RATIONAL-FORMULA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ComputationMethod::CompuScales -->
   <xsd:group name="COMPU-SCALES">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to stepwise express a computation method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScales"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-SCALES">
            <xsd:annotation>
               <xsd:documentation>This represents one scale within the compu method. Note that it contains a Variationpoint in order to support blueprints of enumerations.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CompuScales.compuScale";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="blueprintDerivationTime";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="40";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPU-SCALE" type="AR:COMPU-SCALE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ComputationMethod::CompuScales -->
   <xsd:complexType abstract="false" mixed="false" name="COMPU-SCALES">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to stepwise express a computation method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CompuScales"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMPU-CONTENT"/>
         <xsd:group ref="AR:COMPU-SCALES"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::ConcreteClassTailoring -->
   <xsd:group name="CONCRETE-CLASS-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of concrete meta classes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConcreteClassTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALIDATION-ROOT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specification if this concrete Meta-Class is a root element for validation. I.e.: The validation starts at an object of this concrete Meta-Class and continues by following all aggregations and references that are in scope of this Data Exchange Point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConcreteClassTailoring.validationRoot";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::ConcreteClassTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="CONCRETE-CLASS-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of concrete meta classes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConcreteClassTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:CLASS-TAILORING"/>
         <xsd:group ref="AR:CONCRETE-CLASS-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EventTriggeringConstraint::ConcretePatternEventTriggering -->
   <xsd:group name="CONCRETE-PATTERN-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The ConcretePatternEventTriggering describes the behavior of an event, which occurs following a precisely known pattern.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConcretePatternEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN-JITTER" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The optional parameter "Pattern Jitter" specifies the deviation of the time interval's starting point from the beginning of the given period. This parameter is only applicable in conjunction with the parameter "Pattern Period".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConcretePatternEventTriggering.patternJitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN-PERIOD" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The optional parameter "Pattern Period" specifies the time distance between the beginnings of subsequent repetitions of the given concrete pattern.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConcretePatternEventTriggering.patternPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSETS">
            <xsd:annotation>
               <xsd:documentation>The offset for each occurrence of the event in the specified time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConcretePatternEventTriggering.offset";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.name="TIME-VALUE";xml.roleElement="true";xml.sequenceOffset="10";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TIME-VALUE" type="AR:MULTIDIMENSIONAL-TIME"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATTERN-LENGTH" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The length of the observed time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConcretePatternEventTriggering.patternLength";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EventTriggeringConstraint::ConcretePatternEventTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="CONCRETE-PATTERN-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The ConcretePatternEventTriggering describes the behavior of an event, which occurs following a precisely known pattern.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConcretePatternEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:group ref="AR:CONCRETE-PATTERN-EVENT-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::ConditionByFormula -->
   <xsd:group name="CONDITION-BY-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This class represents a condition which is computed based on system constants according to the specified expression. The expected result is considered as boolean value.

The result of the expression is interpreted as a condition. 

* "0" represents "false";  

* a value other than zero is considered "true"</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConditionByFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class VariantHandling::ConditionByFormula -->
   <xsd:attributeGroup name="CONDITION-BY-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This class represents a condition which is computed based on system constants according to the specified expression. The expected result is considered as boolean value.

The result of the expression is interpreted as a condition. 

* "0" represents "false";  

* a value other than zero is considered "true"</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConditionByFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="BINDING-TIME" type="AR:BINDING-TIME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the point in time when condition may be evaluated at earliest. At this point in time all referenced system constants shall have a value.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="ConditionByFormula.bindingTime";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class VariantHandling::ConditionByFormula -->
   <xsd:complexType abstract="false" mixed="true" name="CONDITION-BY-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This class represents a condition which is computed based on system constants according to the specified expression. The expected result is considered as boolean value.

The result of the expression is interpreted as a condition. 

* "0" represents "false";  

* a value other than zero is considered "true"</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConditionByFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:CONDITION-BY-FORMULA"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:CONDITION-BY-FORMULA"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::ConditionalChangeNad -->
   <xsd:group name="CONDITIONAL-CHANGE-NAD">
      <xsd:annotation>
         <xsd:documentation>Generates an conditional change NAD request. See LIN 2.1 protocol specification for more information.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BYTE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Byte Position of Data Byte that should be used for the bitwise XOR with Invert and the bitwise AND with Mask.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad.byte";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Byte Position of Id.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INVERT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Byte Position of Invert.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad.invert";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASK" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Byte Position of Mask.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad.mask";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NEW-NAD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The newly assigned NAD value (Byte Position).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad.newNad";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::ConditionalChangeNad -->
   <xsd:complexType abstract="false" mixed="false" name="CONDITIONAL-CHANGE-NAD">
      <xsd:annotation>
         <xsd:documentation>Generates an conditional change NAD request. See LIN 2.1 protocol specification for more information.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConditionalChangeNad"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:CONDITIONAL-CHANGE-NAD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EventTriggeringConstraint::ConfidenceInterval -->
   <xsd:group name="CONFIDENCE-INTERVAL">
      <xsd:annotation>
         <xsd:documentation>Additionally to the list of measured distances of event occurrences, a confidence interval can be specified for the expected distance of two consecutive event occurrences with a given probability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConfidenceInterval"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-BOUND" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The lower bound of the expected distance of two consecutive event occurrences.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConfidenceInterval.lowerBound";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROPABILITY" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The probability for the measured lower and upper bound of the confidence interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConfidenceInterval.propability";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-BOUND" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The upper bound of the expected distance of two consecutive event occurrences.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConfidenceInterval.upperBound";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EventTriggeringConstraint::ConfidenceInterval -->
   <xsd:complexType abstract="false" mixed="false" name="CONFIDENCE-INTERVAL">
      <xsd:annotation>
         <xsd:documentation>Additionally to the list of measured distances of event occurrences, a confidence interval can be specified for the expected distance of two consecutive event occurrences with a given probability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConfidenceInterval"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CONFIDENCE-INTERVAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ImplicitCommunicationBehavior::ConsistencyNeeds -->
   <xsd:group name="CONSISTENCY-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define requirements on the implicit communication behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConsistencyNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DPG-DOES-NOT-REQUIRE-COHERENCYS">
            <xsd:annotation>
               <xsd:documentation>This group of VariableDataPrototypes does not require coherency with respect to the implicit communication behavior.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ConsistencyNeeds.dpgDoesNotRequireCoherency";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-GROUP" type="AR:DATA-PROTOTYPE-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DPG-REQUIRES-COHERENCYS">
            <xsd:annotation>
               <xsd:documentation>This group of VariableDataPrototypes requires coherency with respect to the implicit communication behavior, i.e. all read and write access to VariableDataPrototypes in the DataPrototypeGroup by the RunnableEntitys of the RunnableEntityGroup need to be handled in a coherent manner. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ConsistencyNeeds.dpgRequiresCoherency";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-GROUP" type="AR:DATA-PROTOTYPE-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REG-DOES-NOT-REQUIRE-STABILITYS">
            <xsd:annotation>
               <xsd:documentation>This group of RunnableEntities does not require stability with respect to the implicit communication behavior.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ConsistencyNeeds.regDoesNotRequireStability";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNNABLE-ENTITY-GROUP" type="AR:RUNNABLE-ENTITY-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REG-REQUIRES-STABILITYS">
            <xsd:annotation>
               <xsd:documentation>This group of RunnableEntities requires stability with respect to the implicit communication behavior, i.e. all read and write access to VariableDataPrototypes in the DataPrototypeGroup by the RunnableEntitys of the RunnableEntityGroup need to be handled in a stable manner. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ConsistencyNeeds.regRequiresStability";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNNABLE-ENTITY-GROUP" type="AR:RUNNABLE-ENTITY-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsistencyNeeds.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ImplicitCommunicationBehavior::ConsistencyNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="CONSISTENCY-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define requirements on the implicit communication behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConsistencyNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:CONSISTENCY-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ConsistencyNeedsBlueprintSet::ConsistencyNeedsBlueprintSet -->
   <xsd:group name="CONSISTENCY-NEEDS-BLUEPRINT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to specify a set of blueprint for ConsistencyNeeds.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ConsistencyNeedsBlueprintSets";mmt.qualifiedName="ConsistencyNeedsBlueprintSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSISTENCY-NEEDSS">
            <xsd:annotation>
               <xsd:documentation>This represents a particular blueprint of consistencyNeeds. Note that it is
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsistencyNeedsBlueprintSet.consistencyNeeds";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSISTENCY-NEEDS" type="AR:CONSISTENCY-NEEDS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ConsistencyNeedsBlueprintSet::ConsistencyNeedsBlueprintSet -->
   <xsd:complexType abstract="false" mixed="false" name="CONSISTENCY-NEEDS-BLUEPRINT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to specify a set of blueprint for ConsistencyNeeds.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ConsistencyNeedsBlueprintSets";mmt.qualifiedName="ConsistencyNeedsBlueprintSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:CONSISTENCY-NEEDS-BLUEPRINT-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Constants::ConstantReference -->
   <xsd:group name="CONSTANT-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>Instead of defining this value inline, a constant is referenced.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConstantReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTANT-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced constant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConstantReference.constant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ConstantReference -->
   <xsd:complexType abstract="false" mixed="false" name="CONSTANT-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>Instead of defining this value inline, a constant is referenced.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConstantReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:CONSTANT-REFERENCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::ConstantSpecification -->
   <xsd:group name="CONSTANT-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specification of a constant that can be part of a package, i.e. it can be defined stand-alone.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ConstantSpecifications";mmt.qualifiedName="ConstantSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-SPEC">
            <xsd:annotation>
               <xsd:documentation>Specification of an expression leading to a value for this constant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConstantSpecification.valueSpec";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ConstantSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="CONSTANT-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specification of a constant that can be part of a package, i.e. it can be defined stand-alone.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ConstantSpecifications";mmt.qualifiedName="ConstantSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:CONSTANT-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CONSTANT-SPECIFICATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONSTANT-SPECIFICATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Constants::ConstantSpecificationMapping -->
   <xsd:group name="CONSTANT-SPECIFICATION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to create an association of two ConstantSpecifications. One ConstantSpecification is supposed to be defined in the application domain while the other should be defined in the implementation domain.

Hence the ConstantSpecificationMapping needs to be used where a ConstantSpecification defined in one domain needs to be associated to a ConstantSpecification in the other domain.

This information is crucial for the RTE generator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConstantSpecificationMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPL-CONSTANT-REF">
            <xsd:annotation>
               <xsd:documentation>A ConstantSpecification defined in the application domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConstantSpecificationMapping.applConstant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPL-CONSTANT-REF">
            <xsd:annotation>
               <xsd:documentation>A ConstantSpecification defined in the implementation domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConstantSpecificationMapping.implConstant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ConstantSpecificationMapping -->
   <xsd:complexType abstract="false" mixed="false" name="CONSTANT-SPECIFICATION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to create an association of two ConstantSpecifications. One ConstantSpecification is supposed to be defined in the application domain while the other should be defined in the implementation domain.

Hence the ConstantSpecificationMapping needs to be used where a ConstantSpecification defined in one domain needs to be associated to a ConstantSpecification in the other domain.

This information is crucial for the RTE generator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConstantSpecificationMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CONSTANT-SPECIFICATION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::ConstantSpecificationMappingSet -->
   <xsd:group name="CONSTANT-SPECIFICATION-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map two ConstantSpecifications to each others. One ConstantSpecification is supposed to be described in the application domain and the other should be described in the implementation domain.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ConstantSpecificationMappingSets";mmt.qualifiedName="ConstantSpecificationMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>ConstantSpecificationMappings owned by the ConstantSpecificationMappingSet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConstantSpecificationMappingSet.mapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTANT-SPECIFICATION-MAPPING" type="AR:CONSTANT-SPECIFICATION-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ConstantSpecificationMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="CONSTANT-SPECIFICATION-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map two ConstantSpecifications to each others. One ConstantSpecification is supposed to be described in the application domain and the other should be described in the implementation domain.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ConstantSpecificationMappingSets";mmt.qualifiedName="ConstantSpecificationMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:CONSTANT-SPECIFICATION-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CONSTANT-SPECIFICATION-MAPPING-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONSTANT-SPECIFICATION-MAPPING-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataFormatTailoring::ConstraintTailoring -->
   <xsd:group name="CONSTRAINT-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of constraints. If a constraint is in scope, then the severity defines its Error Severity Level. If it is not in scope, then the constraint is disabled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConstraintTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTRAINT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to custom specification of constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConstraintTailoring.constraint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRACEABLE-TEXT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::ConstraintTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="CONSTRAINT-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of constraints. If a constraint is in scope, then the severity defines its Error Severity Level. If it is not in scope, then the constraint is disabled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConstraintTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:RESTRICTION-WITH-SEVERITY"/>
         <xsd:group ref="AR:CONSTRAINT-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::ConsumedEventGroup -->
   <xsd:group name="CONSUMED-EVENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>A Service may have event groups which can be consumed. A service consumer has to subscribe to the corresponding event-group. After the subscription the event consumer takes the role of a server and the event provider that of a client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-ENDPOINT-REF">
            <xsd:annotation>
               <xsd:documentation>Defines the application endpoint where the events of the event group are received. This may be a different TpPort address (ApplicationEndpoint) then that which is used for the sending of requests.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup.applicationEndpoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-ENDPOINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-GROUP-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>EventGroup ID. Shall be unique within one system to allow service discovery.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup.eventGroupIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANCE-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Instance identifier. Can be used for e.g. service discovery to identify the instance of the event group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup.instanceIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority defined per consumed Event-Group</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup.priority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTING-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>The ServiceDiscovery module is able to activate and deactivate the PDU routing for receiving events.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup.routingGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROUTING-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SO-AD-ROUTING-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SD-CLIENT-CONFIG" type="AR:SD-CLIENT-CONFIG">
            <xsd:annotation>
               <xsd:documentation>The readiness to receive events is defined by the ServiceDiscovery of the ConsumedEventGroup. The EventHandler shall know about this announcement to decide about the submission of events. Therefore the EventHandler may be configured with Service-Discovery Client attributes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup.sdClientConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::ConsumedEventGroup -->
   <xsd:complexType abstract="false" mixed="false" name="CONSUMED-EVENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>A Service may have event groups which can be consumed. A service consumer has to subscribe to the corresponding event-group. After the subscription the event consumer takes the role of a server and the event provider that of a client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedEventGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:CONSUMED-EVENT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="CONSUMED-EVENT-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONSUMED-EVENT-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::ConsumedServiceInstance -->
   <xsd:group name="CONSUMED-SERVICE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Service instances that are consumed by the ECU that is connected via the ApplicationEndpoint to a CommunicationConnector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedServiceInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSUMED-EVENT-GROUPS">
            <xsd:annotation>
               <xsd:documentation>Selection of event-groups the consumer wants to subscribe for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedServiceInstance.consumedEventGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSUMED-EVENT-GROUP" type="AR:CONSUMED-EVENT-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-SERVICE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a providedServiceInstance to get the instanceIdentifier information from the ProvidedServiceInstance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedServiceInstance.providedServiceInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PROVIDED-SERVICE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SD-CLIENT-CONFIG" type="AR:SD-CLIENT-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Service Discovery Client configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedServiceInstance.sdClientConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::ConsumedServiceInstance -->
   <xsd:complexType abstract="false" mixed="false" name="CONSUMED-SERVICE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Service instances that are consumed by the ECU that is connected via the ApplicationEndpoint to a CommunicationConnector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ConsumedServiceInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:CONSUMED-SERVICE-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::ContainedIPduProps -->
   <xsd:group name="CONTAINED-I-PDU-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines the aspects of an IPdu which can be collected inside a ContainerIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COLLECTION-SEMANTICS" type="AR:CONTAINED-I-PDU-COLLECTION-SEMANTICS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines whether this ContainedIPdu shall be collected using a last-is-best or queued semantics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps.collectionSemantics";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEADER-ID-LONG-HEADER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the header id this IPdu shall have in case this IPdu is put inside a ContainerIPdu with headerType = longHeader.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps.headerIdLongHeader";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEADER-ID-SHORT-HEADER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the header id this IPdu shall have in case this IPdu is put inside a ContainerIPdu with headerType = shortHeader.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps.headerIdShortHeader";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines a IPdu specific sender timeout which can reduce the ContainerIPdu timer when this containedIPdu is put inside the ContainerIPdu. This attribute is ignored on receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER" type="AR:PDU-COLLECTION-TRIGGER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines whether this IPdu does trigger the sending of the ContainerIPdu.
This attribute is ignored on receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ContainedIPduProps -->
   <xsd:complexType abstract="false" mixed="false" name="CONTAINED-I-PDU-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines the aspects of an IPdu which can be collected inside a ContainerIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:CONTAINED-I-PDU-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::ContainerIPdu -->
   <xsd:group name="CONTAINER-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Allows to collect several IPdus in one ContainerIPdu based on the ContainedIPduProps.headerIdLongHeader or ContainedIPduProps.headerIdShortHeader.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="ContainerIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINED-PDU-TRIGGERING-REFS">
            <xsd:annotation>
               <xsd:documentation>This PduTriggering shall be collected inside the ContainerIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPdu.containedPduTriggering";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTAINED-PDU-TRIGGERING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINER-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>When this timeout expires the ContainerIPdu is sent out. The respective timer is started when the first Ipdu is put into the ContainerIPdu.
This attribute is ignored on receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPdu.containerTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINER-TRIGGER" type="AR:CONTAINER-I-PDU-TRIGGER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines if the transmission of the ContainerIPdu shall be requested right after the first ContainedIPdu was put into it. This attribute shall be ignored on receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPdu.containerTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEADER-TYPE" type="AR:CONTAINER-I-PDU-HEADER-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the type and size of the header information (header id and length).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPdu.headerType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RX-ACCEPT-CONTAINED-I-PDU" type="AR:RX-ACCEPT-CONTAINED-I-PDU-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines whether this ContainerIPdu has a fixed set of containedIPdus assigned for reception.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPdu.rxAcceptContainedIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="THRESHOLD-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the size threshold which, when exceeded, triggers the sending of the ContainerIPdu although the maxium Pdu size has not been reached yet. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPdu.thresholdSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ContainerIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="CONTAINER-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Allows to collect several IPdus in one ContainerIPdu based on the ContainedIPduProps.headerIdLongHeader or ContainedIPduProps.headerIdShortHeader.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="ContainerIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:CONTAINER-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::CouplingElement -->
   <xsd:group name="COUPLING-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>A CouplingElement is used to connect EcuInstances to the VLAN of an EthernetCluster. CouplingElements can reach from a simple hub to a complex managed switch or even devices with functionalities in higher layers. A CouplingElement that is not related to an EcuInstance occurs as a dedicated single device.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CouplingElements";mmt.qualifiedName="CouplingElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CLUSTER-REF">
            <xsd:annotation>
               <xsd:documentation>This relationship defines to which cluster the CouplingElement belongs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingElement.communicationCluster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ETHERNET-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORTS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="CouplingElement.couplingPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLING-PORT" type="AR:COUPLING-PORT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-TYPE" type="AR:COUPLING-ELEMENT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Describes the coupling type of this CouplingElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingElement.couplingType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Optional reference to the ECU where the CouplingElement is located.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingElement.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingElement -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>A CouplingElement is used to connect EcuInstances to the VLAN of an EthernetCluster. CouplingElements can reach from a simple hub to a complex managed switch or even devices with functionalities in higher layers. A CouplingElement that is not related to an EcuInstance occurs as a dedicated single device.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CouplingElements";mmt.qualifiedName="CouplingElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COUPLING-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::CouplingPort -->
   <xsd:group name="COUPLING-PORT">
      <xsd:annotation>
         <xsd:documentation>A CouplingPort is used to connect a CouplingElement with an EcuInstance or two CouplingElements with each other via a CouplingPortConnection. Optionally, the CouplingPort may also have a reference to a macMulticastGroup and a defaultVLAN.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTION-NEGOTIATION-BEHAVIOR" type="AR:ETHERNET-CONNECTION-NEGOTIATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the connection negotiation of the CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="CouplingPort.connectionNegotiationBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-DETAILS" type="AR:COUPLING-PORT-DETAILS">
            <xsd:annotation>
               <xsd:documentation>Defines more details of a CouplingPort in case a more specific configuration is required.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.couplingPortDetails";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-ROLE" type="AR:COUPLING-PORT-ROLE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the role this CouplingPort takes in the context of the CouplingElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.couplingPortRole";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-SPEED" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>CouplingPort speed in bits/s.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="CouplingPort.couplingPortSpeed";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VLAN-REF">
            <xsd:annotation>
               <xsd:documentation>The vLanIdentifier of the referenced VLAN is the Default-PVID (port VLAN ID). A Port VLAN ID is a default VLAN ID that is assigned to an access CouplingPort to designate the VLAN segment to which this port is connected. Also, if a CouplingPort has not been configured with any VLAN memberships, the virtual switch's Port VLAN ID (pvid) becomes the default VLAN ID for the ports connection.

This identifier/tag is added for incoming untagged messages at the port (ingress tagging). For outgoing messages with this identifier, the tag is removed at the port (egress untagging, depending on the VlanMembership.sendActivity).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.defaultVlan";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ETHERNET-PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-LAYER-TYPE" type="AR:ETHERNET-MAC-LAYER-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the mac layer type of the CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.macLayerType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-MULTICAST-ADDRESS-REFS">
            <xsd:annotation>
               <xsd:documentation>Static MAC-Multicast-Address binding to a CouplingPort. This supports the sending of MAC-Multicast-Messages via the CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.macMulticastAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MAC-MULTICAST-ADDRESS-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MAC-MULTICAST-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-LAYER-TYPE" type="AR:ETHERNET-PHYSICAL-LAYER-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the physical layer type of the CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="CouplingPort.physicalLayerType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the partial networks this CouplingPort participates in.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.pncMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PNC-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PNC-MAPPING-IDENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVE-ACTIVITY" type="AR:ETHERNET-SWITCH-VLAN-INGRESS-TAG-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the handling of frames at the ingress port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.receiveActivity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN-MEMBERSHIPS">
            <xsd:annotation>
               <xsd:documentation>Messages of VLANs that are defined here can be communicated via the CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.vlanMembership";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VLAN-MEMBERSHIP" type="AR:VLAN-MEMBERSHIP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN-MODIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>All incoming messages at this CouplingPort shall be tagged with this VLAN Id. This tagging is performed regardless whether the message already has a VLAN tag or is untagged, an existing VLAN tag will be overwritten.

This feature is XOR with CoupligPort.defaultVlan.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.vlanModifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ETHERNET-PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPort -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT">
      <xsd:annotation>
         <xsd:documentation>A CouplingPort is used to connect a CouplingElement with an EcuInstance or two CouplingElements with each other via a CouplingPortConnection. Optionally, the CouplingPort may also have a reference to a macMulticastGroup and a defaultVLAN.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COUPLING-PORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="COUPLING-PORT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COUPLING-PORT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::CouplingPortConnection -->
   <xsd:group name="COUPLING-PORT-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>Connection between two CouplingPorts (firstPort and secondPort).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the first CouplingPort that is connected via the CouplingPortConnection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortConnection.firstPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COUPLING-PORT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the second CouplingPort that is connected via the CouplingPortConnection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortConnection.secondPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COUPLING-PORT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortConnection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortConnection -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>Connection between two CouplingPorts (firstPort and secondPort).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COUPLING-PORT-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::CouplingPortDetails -->
   <xsd:group name="COUPLING-PORT-DETAILS">
      <xsd:annotation>
         <xsd:documentation>Defines details of a CouplingPort.

May be used to configure the structures of a switch.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-STRUCTURAL-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>Collects all the structural parts at which a CouplingPort may be configurable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails.couplingPortStructuralElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLING-PORT-FIFO" type="AR:COUPLING-PORT-FIFO"/>
                  <xsd:element name="COUPLING-PORT-SCHEDULER" type="AR:COUPLING-PORT-SCHEDULER"/>
                  <xsd:element name="COUPLING-PORT-SHAPER" type="AR:COUPLING-PORT-SHAPER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ETHERNET-PRIORITY-REGENERATIONS">
            <xsd:annotation>
               <xsd:documentation>Defines a priority regeneration where the ingress priority is replaced by regenerated priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails.ethernetPriorityRegeneration";pureMM.maxOccurs="8";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="8" minOccurs="0">
                  <xsd:element name="ETHERNET-PRIORITY-REGENERATION" type="AR:ETHERNET-PRIORITY-REGENERATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ETHERNET-TRAFFIC-CLASS-ASSIGNMENTS">
            <xsd:annotation>
               <xsd:documentation>Defines the ingress port to EthernetTrafficClass assignment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails.ethernetTrafficClassAssignment";pureMM.maxOccurs="8";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="8" minOccurs="0">
                  <xsd:element name="COUPLING-PORT-TRAFFIC-CLASS-ASSIGNMENT" type="AR:COUPLING-PORT-TRAFFIC-CLASS-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GLOBAL-TIME-PROPS" type="AR:GLOBAL-TIME-COUPLING-PORT-PROPS">
            <xsd:annotation>
               <xsd:documentation>Specifies properties for the usage of the CouplingPort in the scope of Global Time Sync.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails.globalTimeProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LAST-EGRESS-SCHEDULER-REF">
            <xsd:annotation>
               <xsd:documentation>Defines which CouplingPortScheduler is the last in the egress port structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails.lastEgressScheduler";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COUPLING-PORT-SCHEDULER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RATE-POLICYS">
            <xsd:annotation>
               <xsd:documentation>Rate policies to be applied for this CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails.ratePolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLING-PORT-RATE-POLICY" type="AR:COUPLING-PORT-RATE-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortDetails -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-DETAILS">
      <xsd:annotation>
         <xsd:documentation>Defines details of a CouplingPort.

May be used to configure the structures of a switch.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortDetails"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COUPLING-PORT-DETAILS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::CouplingPortFifo -->
   <xsd:group name="COUPLING-PORT-FIFO">
      <xsd:annotation>
         <xsd:documentation>Defines a Fifo for the CouplingPort egress structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortFifo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-TRAFFIC-CLASSS">
            <xsd:complexType>
               <xsd:choice maxOccurs="8" minOccurs="0">
                  <xsd:element name="ASSIGNED-TRAFFIC-CLASS" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>Defines a set of Traffic Classes which shall be handled by this Fifo.

range: 0-7</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortFifo.assignedTrafficClass";pureMM.maxOccurs="8";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-FIFO-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>FIFO minimum length in Byte. An actual configuration/hardware may use a bigger value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortFifo.minimumFifoLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortFifo -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-FIFO">
      <xsd:annotation>
         <xsd:documentation>Defines a Fifo for the CouplingPort egress structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortFifo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COUPLING-PORT-STRUCTURAL-ELEMENT"/>
         <xsd:group ref="AR:COUPLING-PORT-FIFO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="COUPLING-PORT-FIFO--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COUPLING-PORT-FIFO"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::CouplingPortRatePolicy -->
   <xsd:group name="COUPLING-PORT-RATE-POLICY">
      <xsd:annotation>
         <xsd:documentation>Defines a rate policy on a CouplingPort.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Amount of data in bytes (excluding header information) that can be received to define the rate policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy.dataLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POLICY-ACTION" type="AR:COUPLING-PORT-RATE-POLICY-ACTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the action to be performed when this rate policy is violated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy.policyAction";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the priority which this rate policy shall be limited on. If no priority is given this rate policy is not considering priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy.priority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-INTERVAL" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time interval used to define the base of the rate policy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy.timeInterval";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="V-LAN-REFS">
            <xsd:annotation>
               <xsd:documentation>Defines the VLANs this rate policy shall be limited on. If no VLAN is given this rate policy is not considering VLAN tags.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy.vLan";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="V-LAN-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ETHERNET-PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortRatePolicy -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-RATE-POLICY">
      <xsd:annotation>
         <xsd:documentation>Defines a rate policy on a CouplingPort.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COUPLING-PORT-RATE-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::CouplingPortScheduler -->
   <xsd:group name="COUPLING-PORT-SCHEDULER">
      <xsd:annotation>
         <xsd:documentation>Defines a scheduler for the CouplingPort egress structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortScheduler"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-SCHEDULER" type="AR:ETHERNET-COUPLING-PORT-SCHEDULER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the schedule algorithm to be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortScheduler.portScheduler";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PREDECESSOR-REFS">
            <xsd:annotation>
               <xsd:documentation>Ordered List of predecessor inputs. The first element has the highest priority. The following elements have decreasing priorities.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortScheduler.predecessor";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PREDECESSOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:COUPLING-PORT-STRUCTURAL-ELEMENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortScheduler -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-SCHEDULER">
      <xsd:annotation>
         <xsd:documentation>Defines a scheduler for the CouplingPort egress structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortScheduler"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COUPLING-PORT-STRUCTURAL-ELEMENT"/>
         <xsd:group ref="AR:COUPLING-PORT-SCHEDULER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="COUPLING-PORT-SCHEDULER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COUPLING-PORT-SCHEDULER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::CouplingPortShaper -->
   <xsd:group name="COUPLING-PORT-SHAPER">
      <xsd:annotation>
         <xsd:documentation>Defines a shaper for the CouplingPort egress structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortShaper"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDLE-SLOPE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the increase of credit in bits per second for the AVB shaper.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortShaper.idleSlope";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PREDECESSOR-FIFO-REF">
            <xsd:annotation>
               <xsd:documentation>Defines the CouplingPortFifo which provides the input to this shaper.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortShaper.predecessorFifo";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COUPLING-PORT-FIFO--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortShaper -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-SHAPER">
      <xsd:annotation>
         <xsd:documentation>Defines a shaper for the CouplingPort egress structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortShaper"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COUPLING-PORT-STRUCTURAL-ELEMENT"/>
         <xsd:group ref="AR:COUPLING-PORT-SHAPER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::CouplingPortStructuralElement -->
   <xsd:group name="COUPLING-PORT-STRUCTURAL-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>General class to define structural elements a CouplingPort may consist of.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortStructuralElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="COUPLING-PORT-STRUCTURAL-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COUPLING-PORT-FIFO"/>
         <xsd:enumeration value="COUPLING-PORT-SCHEDULER"/>
         <xsd:enumeration value="COUPLING-PORT-SHAPER"/>
         <xsd:enumeration value="COUPLING-PORT-STRUCTURAL-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::CouplingPortTrafficClassAssignment -->
   <xsd:group name="COUPLING-PORT-TRAFFIC-CLASS-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>Defines the assignment of Traffic Class to a frame.

Two use-cases are supported:
1. Only one ethernetTrafficClassAssignment is defined and NO priority is given:
--&gt; all frames on this ingress port get assigned the trafficClass.
2. for each ethernetTrafficClass WITH a priority the frames which are coming in with this priority get assigned the trafficClass.

Constraint: 1 and 2 can not be combined for one CouplingPortDetails.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortTrafficClassAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITYS">
            <xsd:complexType>
               <xsd:choice maxOccurs="8" minOccurs="0">
                  <xsd:element name="PRIORITY" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>Defines a priority which is mapped onto a Traffic Class.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortTrafficClassAssignment.priority";pureMM.maxOccurs="8";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRAFFIC-CLASS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the Traffic Class which is assigned.

range: 0-7</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortTrafficClassAssignment.trafficClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::CouplingPortTrafficClassAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="COUPLING-PORT-TRAFFIC-CLASS-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>Defines the assignment of Traffic Class to a frame.

Two use-cases are supported:
1. Only one ethernetTrafficClassAssignment is defined and NO priority is given:
--&gt; all frames on this ingress port get assigned the trafficClass.
2. for each ethernetTrafficClass WITH a priority the frames which are coming in with this priority get assigned the trafficClass.

Constraint: 1 and 2 can not be combined for one CouplingPortDetails.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortTrafficClassAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:COUPLING-PORT-TRAFFIC-CLASS-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::CryptoServiceNeeds -->
   <xsd:group name="CRYPTO-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the needs on the configuration of the CryptoServiceManager for one ConfigID (see Specification AUTOSAR_SWS_CSM.doc). An instance of this class is used to find out which ports of a software-component belong to this ConfigID.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CryptoServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-KEY-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum length of a cryptographic key, that is used by the software-component or module for this configuration.  Unit: bit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CryptoServiceNeeds.maximumKeyLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::CryptoServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="CRYPTO-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the needs on the configuration of the CryptoServiceManager for one ConfigID (see Specification AUTOSAR_SWS_CSM.doc). An instance of this class is used to find out which ports of a software-component belong to this ConfigID.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CryptoServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:CRYPTO-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::CycleCounter -->
   <xsd:group name="CYCLE-COUNTER">
      <xsd:annotation>
         <xsd:documentation>The communication cycle where the frame is send is described by the attribute "cycleCounter".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CycleCounter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-COUNTER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The communication cycle where the frame described by this timing is sent. If a timing is given in this way the referencing FlexrayCluster shall specify the cycleCountMax as upper bound and point of total repetition.
This value is incremented at the beginning of each new cycle, ranging from 0 to cycleCountMax, and is reset to 0 after a sequence of cycleCountMax+1 cycles.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CycleCounter.CycleCounter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreTopology::CycleCounter -->
   <xsd:complexType abstract="false" mixed="false" name="CYCLE-COUNTER">
      <xsd:annotation>
         <xsd:documentation>The communication cycle where the frame is send is described by the attribute "cycleCounter".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CycleCounter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CYCLE"/>
         <xsd:group ref="AR:CYCLE-COUNTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::CycleRepetition -->
   <xsd:group name="CYCLE-REPETITION">
      <xsd:annotation>
         <xsd:documentation>The communication cycle where the frame is send is described by the
attributes baseCycle and cycleRepetition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CycleRepetition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The first communication cycle where the frame is sent.

This value is incremented at the beginning of each new cycle, ranging from 0 to
63, and is reset to 0 after a sequence of 64 cycles.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CycleRepetition.BaseCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-REPETITION" type="AR:CYCLE-REPETITION-TYPE">
            <xsd:annotation>
               <xsd:documentation>The number of communication cycles (after the first cycle) whenever the frame described by this timing is sent again.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CycleRepetition.CycleRepetition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreTopology::CycleRepetition -->
   <xsd:complexType abstract="false" mixed="false" name="CYCLE-REPETITION">
      <xsd:annotation>
         <xsd:documentation>The communication cycle where the frame is send is described by the
attributes baseCycle and cycleRepetition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CycleRepetition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CYCLE"/>
         <xsd:group ref="AR:CYCLE-REPETITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::CyclicTiming -->
   <xsd:group name="CYCLIC-TIMING">
      <xsd:annotation>
         <xsd:documentation>Specification of a cyclic sending behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CyclicTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-OFFSET" type="AR:TIME-RANGE-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the time until first transmission of this I-PDU. This attribute defines the time between Com_IpduGroupStart and the first transmission of the cyclic part of this transmission request for this I-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CyclicTiming.timeOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-PERIOD" type="AR:TIME-RANGE-TYPE">
            <xsd:annotation>
               <xsd:documentation>Period of the repetition of cyclic transmissions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="CyclicTiming.timePeriod";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::CyclicTiming -->
   <xsd:complexType abstract="false" mixed="false" name="CYCLIC-TIMING">
      <xsd:annotation>
         <xsd:documentation>Specification of a cyclic sending behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CyclicTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:CYCLIC-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GlobalConstraints::DataConstr -->
   <xsd:group name="DATA-CONSTR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify constraints on data.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataConstrs";mmt.qualifiedName="DataConstr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-CONSTR-RULES">
            <xsd:annotation>
               <xsd:documentation>This is one particular rule within the data constraints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataConstr.dataConstrRule";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="30";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-CONSTR-RULE" type="AR:DATA-CONSTR-RULE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GlobalConstraints::DataConstr -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-CONSTR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify constraints on data.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataConstrs";mmt.qualifiedName="DataConstr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:DATA-CONSTR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DATA-CONSTR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DATA-CONSTR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class GlobalConstraints::DataConstrRule -->
   <xsd:group name="DATA-CONSTR-RULE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one specific data constraint rule.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataConstrRule"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTR-LEVEL" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the category of a constraint. One of its functions is in the area of constraint violation, where it can be used from a certain level, to produce error messages.

The lower the level, the more stringent the check. 

Used to distinguish hard or soft limits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataConstrRule.constrLevel";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYS-CONSTRS" type="AR:PHYS-CONSTRS">
            <xsd:annotation>
               <xsd:documentation>Describes the limitations applicable on the physical domain (as opposed to the internal domain).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataConstrRule.physConstrs";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERNAL-CONSTRS" type="AR:INTERNAL-CONSTRS">
            <xsd:annotation>
               <xsd:documentation>Describes the limitations applicable on the internal domain (as opposed to the physical domain).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataConstrRule.internalConstrs";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GlobalConstraints::DataConstrRule -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-CONSTR-RULE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one specific data constraint rule.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataConstrRule"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-CONSTR-RULE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::DataDumpEntry -->
   <xsd:group name="DATA-DUMP-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This service is reserved for initial configuration of a slave node by the slave node supplier and the format of this message is supplier specific.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataDumpEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BYTE-VALUES">
            <xsd:complexType>
               <xsd:choice maxOccurs="5" minOccurs="0">
                  <xsd:element name="BYTE-VALUE" type="AR:INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>Supplier specific format.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="DataDumpEntry.byteValue";pureMM.maxOccurs="5";pureMM.minOccurs="5"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::DataDumpEntry -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-DUMP-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This service is reserved for initial configuration of a slave node by the slave node supplier and the format of this message is supplier specific.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataDumpEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:DATA-DUMP-ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataExchangePoint::DataExchangePoint -->
   <xsd:group name="DATA-EXCHANGE-POINT">
      <xsd:annotation>
         <xsd:documentation>The Data Exchange Point describes the relationship between a work product and its intended use in the methodology with a tailoring of the AUTOSAR templates. 

An informal description is provided by the 'desc' and 'introduction' attributes of the DataExchangePoint. The informal description SHOULD include the subject that is described by this data exchange point.
E.g. 
* producible data of tool A, version x
* consumable data of tool B, version y
* agreed profile between partner A and partner B in project xyz</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataExchangePoints";mmt.qualifiedName="DataExchangePoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="KIND" type="AR:DATA-EXCHANGE-POINT-KIND">
            <xsd:annotation>
               <xsd:documentation>Specifies the kind of this DataExchangePoint. It provides information if this DataExchangePoint represents 
* the output of a tool that produce data, 
* the input of a tool that consumes data or 
* an agreed profile</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataExchangePoint.kind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCED-BASELINE" type="AR:BASELINE">
            <xsd:annotation>
               <xsd:documentation>The baseline of the AUTOSAR standard that is used as a reference within this Data Exchange Point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataExchangePoint.referencedBaseline";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPECIFICATION-SCOPE" type="AR:SPECIFICATION-SCOPE">
            <xsd:annotation>
               <xsd:documentation>The speficication of the relevant subset of Autosar standardized and custom specifications.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataExchangePoint.specificationScope";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-FORMAT-TAILORING" type="AR:DATA-FORMAT-TAILORING">
            <xsd:annotation>
               <xsd:documentation>tailoring to the Autosar Exchange Data Format
The subset and tailoring of the templates specifications (Meta-Classes, Attributes, Sdgs, Constraints, SpecItems)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataExchangePoint.dataFormatTailoring";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataExchangePoint::DataExchangePoint -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-EXCHANGE-POINT">
      <xsd:annotation>
         <xsd:documentation>The Data Exchange Point describes the relationship between a work product and its intended use in the methodology with a tailoring of the AUTOSAR templates. 

An informal description is provided by the 'desc' and 'introduction' attributes of the DataExchangePoint. The informal description SHOULD include the subject that is described by this data exchange point.
E.g. 
* producible data of tool A, version x
* consumable data of tool B, version y
* agreed profile between partner A and partner B in project xyz</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataExchangePoints";mmt.qualifiedName="DataExchangePoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DATA-EXCHANGE-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Filter::DataFilter -->
   <xsd:group name="DATA-FILTER">
      <xsd:annotation>
         <xsd:documentation>Base class for data filters. The type of the filter is specified in attribute dataFilterType. Some of the filter types require additional arguments which are specified as attributes of this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-FILTER-TYPE" type="AR:DATA-FILTER-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the type of the filter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.dataFilterType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASK" type="AR:UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Mask for old and new value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.mask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value to specify the upper boundary</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.max";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value to specify the lower boundary</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.min";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the initial number of messages to occur before the first message is passed</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.offset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies number of messages to occur before the message is passed again</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.period";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="X" type="AR:UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value to compare with</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter.x";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Filter::DataFilter -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-FILTER">
      <xsd:annotation>
         <xsd:documentation>Base class for data filters. The type of the filter is specified in attribute dataFilterType. Some of the filter types require additional arguments which are specified as attributes of this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFilter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-FILTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonPatterns::DataFormatElementReference -->
   <xsd:group name="DATA-FORMAT-ELEMENT-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>Superclass of all references to specification elements that have direct impact on the data exchange format (Meta-Classes, Meta-Attributes, constraints, SdgDefs)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFormatElementReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="DATA-FORMAT-ELEMENT-REFERENCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-CLASS-TAILORING"/>
         <xsd:enumeration value="AGGREGATION-TAILORING"/>
         <xsd:enumeration value="ATTRIBUTE-TAILORING"/>
         <xsd:enumeration value="CONCRETE-CLASS-TAILORING"/>
         <xsd:enumeration value="CONSTRAINT-TAILORING"/>
         <xsd:enumeration value="DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:enumeration value="DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:enumeration value="PRIMITIVE-ATTRIBUTE-TAILORING"/>
         <xsd:enumeration value="REFERENCE-TAILORING"/>
         <xsd:enumeration value="SDG-TAILORING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataFormatTailoring::DataFormatElementScope -->
   <xsd:group name="DATA-FORMAT-ELEMENT-SCOPE">
      <xsd:annotation>
         <xsd:documentation>This class specifies if a Meta Class, Meta Attribute, Constraint or SdgDef is relevant for the Data Exchange Point.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFormatElementScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DataFormatTailoring::DataFormatTailoring -->
   <xsd:group name="DATA-FORMAT-TAILORING">
      <xsd:annotation>
         <xsd:documentation>This class collects all rules that tailor the AUTOSAR templates for a specific data exchange point.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFormatTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLASS-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Specification of tailorings of Meta Classes</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFormatTailoring.classTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ABSTRACT-CLASS-TAILORING" type="AR:ABSTRACT-CLASS-TAILORING"/>
                  <xsd:element name="CONCRETE-CLASS-TAILORING" type="AR:CONCRETE-CLASS-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTRAINT-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Specification of tailorings of Constraints that are not explicitly owned by any Meta-Class</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataFormatTailoring.constraintTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTRAINT-TAILORING" type="AR:CONSTRAINT-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::DataFormatTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-FORMAT-TAILORING">
      <xsd:annotation>
         <xsd:documentation>This class collects all rules that tailor the AUTOSAR templates for a specific data exchange point.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFormatTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-FORMAT-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::DataInterface -->
   <xsd:group name="DATA-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>The purpose of this meta-class is to act as an abstract base class for subclasses that share the semantics of being concerned about data (as opposed to e.g. operations).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="DATA-INTERFACE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataMapping::DataMapping -->
   <xsd:group name="DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of port elements (data elements and parameters) to frames and signals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-DIRECTION" type="AR:COMMUNICATION-DIRECTION-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the direction into which the mapped SystemSignal is communicated with respect to the kind of PortPrototype used as the context element of the DataMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping.communicationDirection";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>Via this reference a connection between the VFB View and the Ethernet EventGroups can be created.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping.eventGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EVENT-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CONSUMED-EVENT-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-HANDLER-REFS">
            <xsd:annotation>
               <xsd:documentation>Via this reference a connection between the VFB View and the Ethernet EventHandlers can be created.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping.eventHandler";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EVENT-HANDLER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EVENT-HANDLER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the data mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>Via this reference a connection between the VFB View and the Ethernet Services can be created.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping.serviceInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SERVICE-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ABSTRACT-SERVICE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataPrototypes::DataPrototype -->
   <xsd:group name="DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Base class for prototypical roles of any data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>This property allows to specify data definition properties which apply on data prototype level.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototype.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="DATA-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:enumeration value="DATA-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ImplicitCommunicationBehavior::DataPrototypeGroup -->
   <xsd:group name="DATA-PROTOTYPE-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a collection of DataPrototypes that are subject to the formal definition of implicit communication behavior. The definition of the collection can be nested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PROTOTYPE-GROUP-IREFS">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to define nested groups of VariableDataPrototypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeGroup.dataPrototypeGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-GROUP-IREF" type="AR:INNER-DATA-PROTOTYPE-GROUP-IN-COMPOSITION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLICIT-DATA-ACCESS-IREFS">
            <xsd:annotation>
               <xsd:documentation>This represents a collection of VariableDataPrototypes that belong to the enclosing DataPrototypeGroup</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeGroup.implicitDataAccess";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IMPLICIT-DATA-ACCESS-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-COMPOSITION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeGroup.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ImplicitCommunicationBehavior::DataPrototypeGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-PROTOTYPE-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a collection of DataPrototypes that are subject to the formal definition of implicit communication behavior. The definition of the collection can be nested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DATA-PROTOTYPE-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DATA-PROTOTYPE-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefs::DataPrototypeInSystemInstanceRef -->
   <xsd:group name="DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-ROOT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef.contextRootComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the PortPrototype that is contained in the InstanceRef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the target of the InstanceRef</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::DataPrototypeInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::DataPrototypeInSystemRef -->
   <xsd:group name="DATA-PROTOTYPE-IN-SYSTEM-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides the ability to reference a DataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeInSystemRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class PortInterface::DataPrototypeMapping -->
   <xsd:group name="DATA-PROTOTYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular VariableDataPrototypes, ParameterDataPrototypes or ArgumentDataPrototypes with unequal names and/or unequal semantic (resolution or range) in context of two different SenderReceiverInterface, NvDataInterface or ParameterInterface or Operations.

If the semantic is unequal following rules apply:
The textTableMapping is only applicable if the referred DataPrototypes are typed by AutosarDataType referring to CompuMethods of category TEXTTABLE, SCALE_LINEAR_AND_TEXTTABLE or BITFIELD_TEXTTABLE.

In the case that the  DataPrototypes are typed by AutosarDataType either referring to CompuMethods of category LINEAR, IDENTICAL or referring to no CompuMethod (which is similar as  IDENTICAL) the linear conversion factor is calculated out of the factorSiToUnit and offsetSiToUnit attributes of the referred Units and the CompuRationalCoeffs of a compuInternalToPhys of the referred CompuMethods.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>First to be mapped DataPrototype in context of a  SenderReceiverInterface, NvDataInterface, ParameterInterface or Operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping.firstDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-TO-SECOND-DATA-TRANSFORMATION-REF">
            <xsd:annotation>
               <xsd:documentation>This defines the need to execute the DataTransformation &lt;Mip&gt;_&lt;transformerId&gt; functions of the transformation chain when communicating from the DataPrototypeMapping.firstDataPrototype to the DataPrototypeMapping.secondDataPrototype. And to execute the DataTransformation &lt;Mip&gt;_Inv_&lt;transformerId&gt; functions of the transformation chain when communicating from the DataPrototypeMapping.secondDataPrototype to the DataPrototypeMapping.firstDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping.firstToSecondDataTransformation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-TRANSFORMATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Second to be mapped DataPrototype in context of a  SenderReceiverInterface, NvDataInterface, ParameterInterface or Operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping.secondDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-ELEMENT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This represents the owned SubelementMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping.subElementMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUB-ELEMENT-MAPPING" type="AR:SUB-ELEMENT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEXT-TABLE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Applied TextTableMapping(s)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping.textTableMapping";pureMM.maxOccurs="2";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="TEXT-TABLE-MAPPING" type="AR:TEXT-TABLE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::DataPrototypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-PROTOTYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular VariableDataPrototypes, ParameterDataPrototypes or ArgumentDataPrototypes with unequal names and/or unequal semantic (resolution or range) in context of two different SenderReceiverInterface, NvDataInterface or ParameterInterface or Operations.

If the semantic is unequal following rules apply:
The textTableMapping is only applicable if the referred DataPrototypes are typed by AutosarDataType referring to CompuMethods of category TEXTTABLE, SCALE_LINEAR_AND_TEXTTABLE or BITFIELD_TEXTTABLE.

In the case that the  DataPrototypes are typed by AutosarDataType either referring to CompuMethods of category LINEAR, IDENTICAL or referring to no CompuMethod (which is similar as  IDENTICAL) the linear conversion factor is calculated out of the factorSiToUnit and offsetSiToUnit attributes of the referred Units and the CompuRationalCoeffs of a compuInternalToPhys of the referred CompuMethods.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::DataPrototypeTransformationProps -->
   <xsd:group name="DATA-PROTOTYPE-TRANSFORMATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>DataPrototypeTransformationProps allows to set the attributes for the different TransformationTechnologies that are DataPrototype specific.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeTransformationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DataPrototype that is transported in the serialized ISignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeTransformationProps.dataPrototypeRef";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-WITH-APPLICATION-DATA-TYPE-IN-SYSTEM-REF" type="AR:DATA-PROTOTYPE-WITH-APPLICATION-DATA-TYPE-IN-SYSTEM-REF"/>
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE-ELEMENT-IN-SYSTEM-REF" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT-IN-SYSTEM-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-REPRESENTATION-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>Specification of the actual network representation for the referenced primitive DataPrototype. 
If a network representation is provided then the baseType shall be used by the Transformer as input for the serialization/deserilaization.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeTransformationProps.networkRepresentationProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-PROPS-REF">
            <xsd:annotation>
               <xsd:documentation>Collection of AutosarDataPrototype related configuration settings for a transformer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeTransformationProps.transformationProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRANSFORMATION-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::DataPrototypeTransformationProps -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-PROTOTYPE-TRANSFORMATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>DataPrototypeTransformationProps allows to set the attributes for the different TransformationTechnologies that are DataPrototype specific.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeTransformationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-TRANSFORMATION-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::DataPrototypeWithApplicationDataTypeInSystemRef -->
   <xsd:group name="DATA-PROTOTYPE-WITH-APPLICATION-DATA-TYPE-IN-SYSTEM-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents a DataPrototype that is typed by an ApplicationDataType and may be aggregated within a composite application data type (record or array).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeWithApplicationDataTypeInSystemRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PROTOTYPE-IREF" type="AR:APPLICATION-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the referenced ApplicationCompositeDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeWithApplicationDataTypeInSystemRef.dataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::DataPrototypeWithApplicationDataTypeInSystemRef -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-PROTOTYPE-WITH-APPLICATION-DATA-TYPE-IN-SYSTEM-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents a DataPrototype that is typed by an ApplicationDataType and may be aggregated within a composite application data type (record or array).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataPrototypeWithApplicationDataTypeInSystemRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-IN-SYSTEM-REF"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-WITH-APPLICATION-DATA-TYPE-IN-SYSTEM-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::DataReceiveErrorEvent -->
   <xsd:group name="DATA-RECEIVE-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised by the RTE when the Com layer detects and notifies an error concerning the reception of the referenced data element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataReceiveErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IREF" type="AR:R-VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Data element referenced by event</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataReceiveErrorEvent.data";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::DataReceiveErrorEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-RECEIVE-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised by the RTE when the Com layer detects and notifies an error concerning the reception of the referenced data element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataReceiveErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:DATA-RECEIVE-ERROR-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::DataReceivedEvent -->
   <xsd:group name="DATA-RECEIVED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced data elements are received.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataReceivedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IREF" type="AR:R-VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Data element referenced by event</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataReceivedEvent.data";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::DataReceivedEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-RECEIVED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced data elements are received.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataReceivedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:DATA-RECEIVED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::DataSendCompletedEvent -->
   <xsd:group name="DATA-SEND-COMPLETED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced data elements have been sent or an error occurs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataSendCompletedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The variable access that triggers the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataSendCompletedEvent.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-ACCESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::DataSendCompletedEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-SEND-COMPLETED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced data elements have been sent or an error occurs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataSendCompletedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:DATA-SEND-COMPLETED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Transformer::DataTransformation -->
   <xsd:group name="DATA-TRANSFORMATION">
      <xsd:annotation>
         <xsd:documentation>A DataTransformation represents a transformer chain. It is an ordered list of transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TRANSFORMATION-KIND" type="AR:DATA-TRANSFORMATION-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the kind of DataTransformation to be applied.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation.dataTransformationKind";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTE-DESPITE-DATA-UNAVAILABILITY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether the transformer chain is executed even if no input data are available.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation.executeDespiteDataUnavailability";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMER-CHAIN-REFS">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the definition of a chain of transformers that are supposed to be executed according to the order of being referenced from DataTransformation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation.transformerChain";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRANSFORMER-CHAIN-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TRANSFORMATION-TECHNOLOGY--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::DataTransformation -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-TRANSFORMATION">
      <xsd:annotation>
         <xsd:documentation>A DataTransformation represents a transformer chain. It is an ordered list of transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DATA-TRANSFORMATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DATA-TRANSFORMATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DATA-TRANSFORMATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Transformer::DataTransformationRefConditional -->
   <xsd:group name="DATA-TRANSFORMATION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TRANSFORMATION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-TRANSFORMATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformationRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::DataTransformationRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-TRANSFORMATION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-TRANSFORMATION-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::DataTransformationSet -->
   <xsd:group name="DATA-TRANSFORMATION-SET">
      <xsd:annotation>
         <xsd:documentation>This element is the system wide container of DataTransformations which represent transformer chains.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataTransformationSets";mmt.qualifiedName="DataTransformationSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TRANSFORMATIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="DataTransformationSet.dataTransformation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TRANSFORMATION" type="AR:DATA-TRANSFORMATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-TECHNOLOGYS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="DataTransformationSet.transformationTechnology";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRANSFORMATION-TECHNOLOGY" type="AR:TRANSFORMATION-TECHNOLOGY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::DataTransformationSet -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-TRANSFORMATION-SET">
      <xsd:annotation>
         <xsd:documentation>This element is the system wide container of DataTransformations which represent transformer chains.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataTransformationSets";mmt.qualifiedName="DataTransformationSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DATA-TRANSFORMATION-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Datatypes::DataTypeMap -->
   <xsd:group name="DATA-TYPE-MAP">
      <xsd:annotation>
         <xsd:documentation>This class represents the relationship between ApplicationDataType and its implementing ImplementationDataType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTypeMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the corresponding ApplicationDataType</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTypeMap.applicationDataType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the corresponding ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTypeMap.implementationDataType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Datatypes::DataTypeMap -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-TYPE-MAP">
      <xsd:annotation>
         <xsd:documentation>This class represents the relationship between ApplicationDataType and its implementing ImplementationDataType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTypeMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-TYPE-MAP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Datatypes::DataTypeMappingSet -->
   <xsd:group name="DATA-TYPE-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This class represents a list of mappings between ApplicationDataTypes and ImplementationDataTypes. In addition, it can contain mappings between ImplementationDataTypes and ModeDeclarationGroups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataTypeMappingSets";mmt.qualifiedName="DataTypeMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-MAPS">
            <xsd:annotation>
               <xsd:documentation>This is one particular association between an ApplicationDataType and its ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTypeMappingSet.dataTypeMap";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TYPE-MAP" type="AR:DATA-TYPE-MAP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-REQUEST-TYPE-MAPS">
            <xsd:annotation>
               <xsd:documentation>This is one particular association between an ModeDeclarationGroup and its ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataTypeMappingSet.modeRequestTypeMap";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-REQUEST-TYPE-MAP" type="AR:MODE-REQUEST-TYPE-MAP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Datatypes::DataTypeMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-TYPE-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This class represents a list of mappings between ApplicationDataTypes and ImplementationDataTypes. In addition, it can contain mappings between ImplementationDataTypes and ModeDeclarationGroups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DataTypeMappingSets";mmt.qualifiedName="DataTypeMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:DATA-TYPE-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DATA-TYPE-MAPPING-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DATA-TYPE-MAPPING-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RTEEvents::DataWriteCompletedEvent -->
   <xsd:group name="DATA-WRITE-COMPLETED-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised if an implicit write access was successful or an error occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataWriteCompletedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The variable access that triggers the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DataWriteCompletedEvent.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-ACCESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::DataWriteCompletedEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DATA-WRITE-COMPLETED-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised if an implicit write access was successful or an error occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataWriteCompletedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:DATA-WRITE-COMPLETED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::DcmIPdu -->
   <xsd:group name="DCM-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Represents the IPdus handled by Dcm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="DcmIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAG-PDU-TYPE" type="AR:DIAG-PDU-TYPE">
            <xsd:annotation>
               <xsd:documentation>Attribute is used to distinguish a request from a response.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DcmIPdu.diagPduType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::DcmIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="DCM-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Represents the IPdus handled by Dcm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="DcmIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:DCM-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ListElements::DefItem -->
   <xsd:group name="DEF-ITEM">
      <xsd:annotation>
         <xsd:documentation>This represents an entry in a definition list. The defined item is specified using shortName and longName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefItem"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEF" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents the definition part of the DefItem.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DefItem.def";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DefItem.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class ListElements::DefItem -->
   <xsd:attributeGroup name="DEF-ITEM">
      <xsd:annotation>
         <xsd:documentation>This represents an entry in a definition list. The defined item is specified using shortName and longName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefItem"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="DefItem.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class ListElements::DefItem -->
   <xsd:complexType abstract="false" mixed="false" name="DEF-ITEM">
      <xsd:annotation>
         <xsd:documentation>This represents an entry in a definition list. The defined item is specified using shortName and longName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefItem"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:DEF-ITEM"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:DEF-ITEM"/>
   </xsd:complexType>
   <!-- element group for class ListElements::DefList -->
   <xsd:group name="DEF-LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a list of definitions. Note that a definition list might be rendered similar to a labeled list but has a particular semantics to denote definitions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="DEF-ITEM" type="AR:DEF-ITEM">
            <xsd:annotation>
               <xsd:documentation>This is one entry in the definition list.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DefList.defItem";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DefList.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ListElements::DefList -->
   <xsd:complexType abstract="false" mixed="false" name="DEF-LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a list of definitions. Note that a definition list might be rendered similar to a labeled list but has a particular semantics to denote definitions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:DEF-LIST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class Fibex4Multiplatform::DefaultValueElement -->
   <xsd:group name="DEFAULT-VALUE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>The default value consists of a number of elements. Each element is one byte long and the number of elements is specified by SduLength.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefaultValueElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENT-BYTE-VALUE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The integer value of a freely defined data byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DefaultValueElement.elementByteValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENT-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the byte position of the
element within the default value</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DefaultValueElement.elementPosition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::DefaultValueElement -->
   <xsd:complexType abstract="false" mixed="false" name="DEFAULT-VALUE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>The default value consists of a number of elements. Each element is one byte long and the number of elements is specified by SduLength.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefaultValueElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DEFAULT-VALUE-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::DelegatedPortAnnotation -->
   <xsd:group name="DELEGATED-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a "delegated port" to specify the Signal Fan In or Signal Fan Out inside the CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DelegatedPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNAL-FAN" type="AR:SIGNAL-FAN-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the Signal Fan In or Signal Fan Out inside the Composition Type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DelegatedPortAnnotation.signalFan";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::DelegatedPortAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="DELEGATED-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a "delegated port" to specify the Signal Fan In or Signal Fan Out inside the CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DelegatedPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:DELEGATED-PORT-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Composition::DelegationSwConnector -->
   <xsd:group name="DELEGATION-SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>A delegation connector delegates one inner PortPrototype  (a port of a component that is used inside the composition) to a outer PortPrototype of compatible type that belongs directly to the composition (a port that is owned by the composition).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DelegationSwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INNER-PORT-IREF">
            <xsd:annotation>
               <xsd:documentation>The port that belongs to the ComponentPrototype in the composition</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DelegationSwConnector.innerPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.typeElement="true"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="P-PORT-IN-COMPOSITION-INSTANCE-REF" type="AR:P-PORT-IN-COMPOSITION-INSTANCE-REF"/>
                  <xsd:element name="R-PORT-IN-COMPOSITION-INSTANCE-REF" type="AR:R-PORT-IN-COMPOSITION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OUTER-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>The port that is located on the outside of the CompositionType</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DelegationSwConnector.outerPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Composition::DelegationSwConnector -->
   <xsd:complexType abstract="false" mixed="false" name="DELEGATION-SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>A delegation connector delegates one inner PortPrototype  (a port of a component that is used inside the composition) to a outer PortPrototype of compatible type that belongs directly to the composition (a port that is owned by the composition).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DelegationSwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:SW-CONNECTOR"/>
         <xsd:group ref="AR:DELEGATION-SW-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Implementation::DependencyOnArtifact -->
   <xsd:group name="DEPENDENCY-ON-ARTIFACT">
      <xsd:annotation>
         <xsd:documentation>Dependency on the existence of another artifact, e.g. a library.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DependencyOnArtifact"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARTIFACT-DESCRIPTOR" type="AR:AUTOSAR-ENGINEERING-OBJECT">
            <xsd:annotation>
               <xsd:documentation>The specified artifact needs to exist.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DependencyOnArtifact.artifactDescriptor";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USAGES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="USAGE" type="AR:DEPENDENCY-USAGE-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>Specification for which process step(s) this dependency is required.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="DependencyOnArtifact.usage";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DependencyOnArtifact.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Implementation::DependencyOnArtifact -->
   <xsd:complexType abstract="false" mixed="false" name="DEPENDENCY-ON-ARTIFACT">
      <xsd:annotation>
         <xsd:documentation>Dependency on the existence of another artifact, e.g. a library.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DependencyOnArtifact"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DEPENDENCY-ON-ARTIFACT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DEPENDENCY-ON-ARTIFACT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEPENDENCY-ON-ARTIFACT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Identifiable::Describable -->
   <xsd:group name="DESCRIBABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to add a descriptive documentation to non identifiable elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Describable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This represents a general but brief (one paragraph) description what the object in question is about. It is only one paragraph! Desc is intended to be collected into overview tables. This property helps a human reader to identify the object in question.

More elaborate documentation, (in particlar how the object is built or used) should go to "introduction".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Describable.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:CATEGORY-STRING">
            <xsd:annotation>
               <xsd:documentation>The category is a keyword that specializes the semantics of the Describable. It affects the expected existence of attributes and the applicability of constraints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Describable.category";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents more information about how the object in question is built or is used. Therefore it is a DocumentationBlock.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Describable.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADMIN-DATA" type="AR:ADMIN-DATA">
            <xsd:annotation>
               <xsd:documentation>This represents the administrative data for the describable object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Describable.adminData";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ServiceNeeds::DevelopmentError -->
   <xsd:group name="DEVELOPMENT-ERROR">
      <xsd:annotation>
         <xsd:documentation>The reported failure is classified as development error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DevelopmentError"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DevelopmentError -->
   <xsd:complexType abstract="false" mixed="false" name="DEVELOPMENT-ERROR">
      <xsd:annotation>
         <xsd:documentation>The reported failure is classified as development error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DevelopmentError"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACED-FAILURE"/>
         <xsd:group ref="AR:DEVELOPMENT-ERROR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::DhcpServerConfiguration -->
   <xsd:group name="DHCP-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of DHCP servers that are running on the network endpoint. It is possible that an Ipv4DhcpServer and an Ipv6DhcpServer run on the same Ecu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DhcpServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IPV-4-DHCP-SERVER-CONFIGURATION" type="AR:IPV-4-DHCP-SERVER-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Configuration of a IPv4 DHCP server that runs on the network endpoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DhcpServerConfiguration.ipv4DhcpServerConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IPV-6-DHCP-SERVER-CONFIGURATION" type="AR:IPV-6-DHCP-SERVER-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Configuration of a IPv6 DHCP server that runs on the network endpoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DhcpServerConfiguration.ipv6DhcpServerConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::DhcpServerConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="DHCP-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of DHCP servers that are running on the network endpoint. It is possible that an Ipv4DhcpServer and an Ipv6DhcpServer run on the same Ecu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DhcpServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DHCP-SERVER-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagEventDebounceAlgorithm -->
   <xsd:group name="DIAG-EVENT-DEBOUNCE-ALGORITHM">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to specify the pre-debounce algorithm which is selected and/or required by the particular monitor.

This class inherits from Identifiable in order to allow further documentation of the expected or implemented debouncing and to use the category for the identification of the expected / implemented debouncing.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceAlgorithm"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ServiceNeeds::DiagEventDebounceCounterBased -->
   <xsd:group name="DIAG-EVENT-DEBOUNCE-COUNTER-BASED">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate that the counter-based debounce algorithm shall be used by the DEM for this diagnostic monitor.

This is related to set the ECUC choice container DemDebounceAlgorithmClass to DemDebounceCounterBased.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-BASED-FDC-THRESHOLD-STORAGE-VALUE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Threshold to allocate an event memory entry and to capture the Freeze Frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterBasedFdcThresholdStorageValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-DECREMENT-STEP-SIZE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value shall be taken to decrement the internal debounce counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterDecrementStepSize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-FAILED-THRESHOLD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value defines the event-specific limit that indicates the "failed" counter status.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterFailedThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-INCREMENT-STEP-SIZE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value shall be taken to increment the internal debounce counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterIncrementStepSize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-JUMP-DOWN" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This value activates or deactivates the counter jump-down behavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterJumpDown";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-JUMP-DOWN-VALUE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value represents the initial value of the internal debounce counter if the counting direction changes from incrementing to decrementing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterJumpDownValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-JUMP-UP" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This value activates or deactivates the counter jump-up behavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterJumpUp";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-JUMP-UP-VALUE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value represents the initial value of the internal debounce counter if the counting direction changes from decrementing to incrementing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterJumpUpValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-PASSED-THRESHOLD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value defines the event-specific limit that indicates the "passed" counter status.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased.counterPassedThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagEventDebounceCounterBased -->
   <xsd:complexType abstract="false" mixed="false" name="DIAG-EVENT-DEBOUNCE-COUNTER-BASED">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate that the counter-based debounce algorithm shall be used by the DEM for this diagnostic monitor.

This is related to set the ECUC choice container DemDebounceAlgorithmClass to DemDebounceCounterBased.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceCounterBased"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAG-EVENT-DEBOUNCE-ALGORITHM"/>
         <xsd:group ref="AR:DIAG-EVENT-DEBOUNCE-COUNTER-BASED"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagEventDebounceMonitorInternal -->
   <xsd:group name="DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate that the pre-debounce algorithm shall be used by the Dem for this diagnostic monitor.

This is related to setting the EcuC choice container DemDebounceAlgorithmClass to DemDebounceMonitorInternal.

If the FaultDetectionAlogrithm is already known to be implemented by a specific BswModuleEntry the reference bswModuleEntry points to the function specification.

If the FaultDetectionCounter value is accessible at a PortPrototype this PortPrototype shall be referenced by an assignedPort.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceMonitorInternal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagEventDebounceMonitorInternal -->
   <xsd:complexType abstract="false" mixed="false" name="DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate that the pre-debounce algorithm shall be used by the Dem for this diagnostic monitor.

This is related to setting the EcuC choice container DemDebounceAlgorithmClass to DemDebounceMonitorInternal.

If the FaultDetectionAlogrithm is already known to be implemented by a specific BswModuleEntry the reference bswModuleEntry points to the function specification.

If the FaultDetectionCounter value is accessible at a PortPrototype this PortPrototype shall be referenced by an assignedPort.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceMonitorInternal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAG-EVENT-DEBOUNCE-ALGORITHM"/>
         <xsd:group ref="AR:DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagEventDebounceTimeBased -->
   <xsd:group name="DIAG-EVENT-DEBOUNCE-TIME-BASED">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate that the time-based pre-debounce algorithm shall be used by the Dem for this diagnostic monitor.

This is related to set the EcuC choice container DemDebounceAlgorithmClass to DemDebounceTimeBase.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceTimeBased"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BASED-FDC-THRESHOLD-STORAGE-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Threshold to allocate an event memory entry and to capture the Freeze Frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceTimeBased.timeBasedFdcThresholdStorageValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-FAILED-THRESHOLD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This value represents the event-specific delay indicating the "failed" status.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceTimeBased.timeFailedThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-PASSED-THRESHOLD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This value represents the event-specific delay indicating the "passed" status.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceTimeBased.timePassedThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagEventDebounceTimeBased -->
   <xsd:complexType abstract="false" mixed="false" name="DIAG-EVENT-DEBOUNCE-TIME-BASED">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to indicate that the time-based pre-debounce algorithm shall be used by the Dem for this diagnostic monitor.

This is related to set the EcuC choice container DemDebounceAlgorithmClass to DemDebounceTimeBase.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagEventDebounceTimeBased"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAG-EVENT-DEBOUNCE-ALGORITHM"/>
         <xsd:group ref="AR:DIAG-EVENT-DEBOUNCE-TIME-BASED"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticEvent::DiagnosticAbstractAliasEvent -->
   <xsd:group name="DIAGNOSTIC-ABSTRACT-ALIAS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents an abstract base class for all diagnostic alias events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAbstractAliasEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CommonDiagnostics::DiagnosticAbstractDataIdentifier -->
   <xsd:group name="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents an abstract base class for the modeling of a diagnostic data identifier (DID).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAbstractDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This is the numerical identifier used to identify the DiagnosticAbstractDataIdentifier in the scope of diagnostic workflow</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAbstractDataIdentifier.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Dcm::DiagnosticAccessPermission -->
   <xsd:group name="DIAGNOSTIC-ACCESS-PERMISSION">
      <xsd:annotation>
         <xsd:documentation>This represents the specification of whether a given service can be accessed according to the existence of meta-classes referenced by a particular DiagnosticAccessPermission.

In other words, this meta-class acts as a mapping element between several (otherwise unrelated) pieces of information that are put into context for the purpose of checking for access rights.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticAccessPermissions";mmt.qualifiedName="DiagnosticAccessPermission"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-SESSION-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the associated DiagnosticSessions</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAccessPermission.diagnosticSession";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-SESSION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SESSION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENVIRONMENTAL-CONDITION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the environmental conditions associated with the access permission.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAccessPermission.environmentalCondition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ENVIRONMENTAL-CONDITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURITY-LEVEL-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the associated DiagnosticSecurityLevels</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAccessPermission.securityLevel";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SECURITY-LEVEL-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SECURITY-LEVEL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Dcm::DiagnosticAccessPermission -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ACCESS-PERMISSION">
      <xsd:annotation>
         <xsd:documentation>This represents the specification of whether a given service can be accessed according to the existence of meta-classes referenced by a particular DiagnosticAccessPermission.

In other words, this meta-class acts as a mapping element between several (otherwise unrelated) pieces of information that are put into context for the purpose of checking for access rights.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticAccessPermissions";mmt.qualifiedName="DiagnosticAccessPermission"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ACCESS-PERMISSION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ACCESS-PERMISSION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ACCESS-PERMISSION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticAging::DiagnosticAging -->
   <xsd:group name="DIAGNOSTIC-AGING">
      <xsd:annotation>
         <xsd:documentation>Defines the aging algorithm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticAgings";mmt.qualifiedName="DiagnosticAging"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AGING-CYCLES">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable aging cycle.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="agingCycle, variationPoint.ShortLabel";mmt.qualifiedName="DiagnosticAging.agingCycle";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-OPERATION-CYCLE-REF-CONDITIONAL" type="AR:DIAGNOSTIC-OPERATION-CYCLE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="THRESHOLD" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Number of aging cycles needed to unlearn/delete the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAging.threshold";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticAging::DiagnosticAging -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-AGING">
      <xsd:annotation>
         <xsd:documentation>Defines the aging algorithm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticAgings";mmt.qualifiedName="DiagnosticAging"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-AGING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-AGING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-AGING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticCapabilityElement -->
   <xsd:group name="DIAGNOSTIC-CAPABILITY-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This class identifies the capability to provide generic information about diagnostic capabilities</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCapabilityElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUDIENCES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUDIENCE" type="AR:DIAGNOSTIC-AUDIENCE-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>This specifies the intended audience for the diagnostic object. Note that this is not only for the documentation but also subsequent audience specific implementation.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCapabilityElement.audience";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAG-REQUIREMENT" type="AR:DIAG-REQUIREMENT-ID-STRING">
            <xsd:annotation>
               <xsd:documentation>This denotes the requirement identifier to which the object can be linked to.

Note that with the implementation of a generic tracing concept in AUTOSAR this attribute might become obsolete.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCapabilityElement.diagRequirement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURITY-ACCESS-LEVEL" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute denotes the level of security which is touched by the diagnostic object. The higher the level the more relevance for the security exists.

This level shall be mapped to the security level in the ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCapabilityElement.securityAccessLevel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ClearDiagnosticInfo::DiagnosticClearDiagnosticInformation -->
   <xsd:group name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Clear Diagnostic Information" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearDiagnosticInformations";mmt.qualifiedName="DiagnosticClearDiagnosticInformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLEAR-DIAGNOSTIC-INFORMATION-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticClearDiagnosticInformation in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticClearDiagnosticInformation.clearDiagnosticInformationClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ClearDiagnosticInfo::DiagnosticClearDiagnosticInformation -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Clear Diagnostic Information" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearDiagnosticInformations";mmt.qualifiedName="DiagnosticClearDiagnosticInformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ClearDiagnosticInfo::DiagnosticClearDiagnosticInformationClass -->
   <xsd:group name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Clear Diagnostic Information" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearDiagnosticInformations";mmt.qualifiedName="DiagnosticClearDiagnosticInformationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ClearDiagnosticInfo::DiagnosticClearDiagnosticInformationClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Clear Diagnostic Information" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearDiagnosticInformations";mmt.qualifiedName="DiagnosticClearDiagnosticInformationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x04_ClearResetEmissionRelatedInfo::DiagnosticClearResetEmissionRelatedInfo -->
   <xsd:group name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x04 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearResetEmissionRelatedInfos";mmt.qualifiedName="DiagnosticClearResetEmissionRelatedInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLEAR-RESET-EMISSION-RELATED-DIAGNOSTIC-INFO-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticClearResteEmissionRelatedInfo in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticClearResetEmissionRelatedInfo.clearResetEmissionRelatedDiagnosticInfoClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x04_ClearResetEmissionRelatedInfo::DiagnosticClearResetEmissionRelatedInfo -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x04 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearResetEmissionRelatedInfos";mmt.qualifiedName="DiagnosticClearResetEmissionRelatedInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x04_ClearResetEmissionRelatedInfo::DiagnosticClearResetEmissionRelatedInfoClass -->
   <xsd:group name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Clear Reset Emission Related Data" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearResetEmissionRelatedInfos";mmt.qualifiedName="DiagnosticClearResetEmissionRelatedInfoClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x04_ClearResetEmissionRelatedInfo::DiagnosticClearResetEmissionRelatedInfoClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Clear Reset Emission Related Data" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticClearResetEmissionRelatedInfos";mmt.qualifiedName="DiagnosticClearResetEmissionRelatedInfoClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommunicationControl::DiagnosticComControl -->
   <xsd:group name="DIAGNOSTIC-COM-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Communication Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticCommunicationControls";mmt.qualifiedName="DiagnosticComControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COM-CONTROL-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticComControl in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControl.comControlClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-COM-CONTROL-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-SUB-FUNCTION-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute shall be used to define a custom sub-function number if none of the standardized values of category shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControl.customSubFunctionNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommunicationControl::DiagnosticComControl -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COM-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Communication Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticCommunicationControls";mmt.qualifiedName="DiagnosticComControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-COM-CONTROL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CommunicationControl::DiagnosticComControlClass -->
   <xsd:group name="DIAGNOSTIC-COM-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Communication Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticCommunicationControls";mmt.qualifiedName="DiagnosticComControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALL-CHANNELS-REFS">
            <xsd:annotation>
               <xsd:documentation>This reference represents the semantics that all available channels shall be affected. It is still necessary to refer to individual CommunicatuionClusters because there could be private CommunicationClusters in the System Extract that are not subject to the service "communication control".

By referring to the applicable CommunicationClusters it can be made sure that only the affected CommunicationClusters are accessed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlClass.allChannels";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ALL-CHANNELS-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:COMMUNICATION-CLUSTER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPECIFIC-CHANNELS">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to add additional attributes to the case that only specific channels are supposed to be considered,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlClass.specificChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-COM-CONTROL-SPECIFIC-CHANNEL" type="AR:DIAGNOSTIC-COM-CONTROL-SPECIFIC-CHANNEL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-NODE-CHANNELS">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlClass.subNodeChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-COM-CONTROL-SUB-NODE-CHANNEL" type="AR:DIAGNOSTIC-COM-CONTROL-SUB-NODE-CHANNEL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommunicationControl::DiagnosticComControlClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COM-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Communication Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticCommunicationControls";mmt.qualifiedName="DiagnosticComControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-COM-CONTROL-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-COM-CONTROL-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommunicationControl::DiagnosticComControlSpecificChannel -->
   <xsd:group name="DIAGNOSTIC-COM-CONTROL-SPECIFIC-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to add further attributes to the definition of a specific channel that is subject to the diagnostic service "communication control".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSpecificChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPECIFIC-CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the affected CommunicationClusters in the role specificChannel</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSpecificChannel.specificChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUBNET-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable subnet number (which is an arbitrary number ranging from 1..14)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSpecificChannel.subnetNumber";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommunicationControl::DiagnosticComControlSpecificChannel -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COM-CONTROL-SPECIFIC-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to add further attributes to the definition of a specific channel that is subject to the diagnostic service "communication control".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSpecificChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COM-CONTROL-SPECIFIC-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommunicationControl::DiagnosticComControlSubNodeChannel -->
   <xsd:group name="DIAGNOSTIC-COM-CONTROL-SUB-NODE-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to add further attributes to the definition of a specific sub-node channel that is subject to the diagnostic service "communication control".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSubNodeChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-NODE-CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the affected CommunicationClusters in the role subNodeChannel</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSubNodeChannel.subNodeChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-NODE-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable subNode number. The value corresponds to the request message parameter nodeIdentificationNumber of diagnostic service CommunicationControl (0x28).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSubNodeChannel.subNodeNumber";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommunicationControl::DiagnosticComControlSubNodeChannel -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COM-CONTROL-SUB-NODE-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to add further attributes to the definition of a specific sub-node channel that is subject to the diagnostic service "communication control".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComControlSubNodeChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COM-CONTROL-SUB-NODE-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticCommonElement -->
   <xsd:group name="DIAGNOSTIC-COMMON-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a common base class for all diagnostic elements. It does not contribute any specific functionality other than the ability to become the target of a reference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-COMMON-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-ACCESS-PERMISSION"/>
         <xsd:enumeration value="DIAGNOSTIC-AGING"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-INSTANCE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-FUNCTION-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-INDICATOR"/>
         <xsd:enumeration value="DIAGNOSTIC-INFO-TYPE"/>
         <xsd:enumeration value="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-NODE"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-PROTOCOL"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-LEVEL"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-TABLE"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-RESULT"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-OBD"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonDiagnostics::DiagnosticCommonElementRefConditional -->
   <xsd:group name="DIAGNOSTIC-COMMON-ELEMENT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-COMMON-ELEMENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-COMMON-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonElementRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticCommonElementRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COMMON-ELEMENT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCommonProps::DiagnosticCommonProps -->
   <xsd:group name="DIAGNOSTIC-COMMON-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class aggregates a number of common properties that are shared among a diagnostic extract.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-COMMON-PROPS-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.DiagnosticCommonPropsVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-COMMON-PROPS-CONDITIONAL" type="AR:DIAGNOSTIC-COMMON-PROPS-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticCommonProps::DiagnosticCommonProps -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COMMON-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class aggregates a number of common properties that are shared among a diagnostic extract.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCommonProps::DiagnosticCommonPropsConditional -->
   <xsd:group name="DIAGNOSTIC-COMMON-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonPropsConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticCommonProps::DiagnosticCommonPropsConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COMMON-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-PROPS-CONTENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-PROPS-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCommonProps::DiagnosticCommonPropsContent -->
   <xsd:group name="DIAGNOSTIC-COMMON-PROPS-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonPropsContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AGING-REQUIRES-TESTED-CYCLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether the aging cycle counter is processed every aging cycles or else only tested aging cycle are considered.

If the attribute is set to TRUE: only tested aging cycle are considered for aging cycle counter.

If the attribute is set to FALSE: aging cycle counter is processed every aging cycle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.agingRequiresTestedCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLEAR-DTC-LIMITATION" type="AR:DIAGNOSTIC-CLEAR-DTC-LIMITATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the scope of the DEM_ClearDTC Api.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.clearDtcLimitation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBOUNCE-ALGORITHM-PROPSS">
            <xsd:annotation>
               <xsd:documentation>Defines the used debounce algorithms relevant in
the context of the enclosing
DiagnosticCommonProps. Usually, there is a
variety of debouncing algorithms to take into
account and therefore the multiplicity of this
aggregation is set to 0..*.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.debounceAlgorithmProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS" type="AR:DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-ENDIANNESS" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the default endianness of the data belonging to a DID or RID which is applicable if the DiagnosticDataElement does not define the endianness via the swDataDefProps.baseType attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.defaultEndianness";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-STATUS-AVAILABILITY-MASK" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Mask for the supported DTC status bits by the Dem.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.dtcStatusAvailabilityMask";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENVIRONMENT-DATA-CAPTURE" type="AR:DIAGNOSTIC-DATA-CAPTURE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute determines whether the capturing of environment data is done synchronously inside the report API function or whether the capturing shall be done asynchronously, i.e. after the report API function already terminated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.environmentDataCapture";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-DISPLACEMENT-STRATEGY" type="AR:DIAGNOSTIC-EVENT-DISPLACEMENT-STRATEGY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines, whether support for event displacement is enabled or not, and which displacement strategy is followed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.eventDisplacementStrategy";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-EVENT-ENTRIES" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute fixes the maximum number of event entries in the fault memory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.maxNumberOfEventEntries";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-REQUEST-CORRECTLY-RECEIVED-RESPONSE-PENDING" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum number of negative responses with response code 0x78 (requestCorrectlyReceived-ResponsePending) allowed per request. DCM will send a negative response with response code 0x10 (generalReject), in case the limit value gets reached.
Value 0xFF means that no limit number of NRC 0x78 response apply.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.maxNumberOfRequestCorrectlyReceivedResponsePending";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-ENTRY-STORAGE-TRIGGER" type="AR:DIAGNOSTIC-MEMORY-ENTRY-STORAGE-TRIGGER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Describes the primary trigger to allocate an event memory entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.memoryEntryStorageTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OCCURRENCE-COUNTER-PROCESSING" type="AR:DIAGNOSTIC-OCCURRENCE-COUNTER-PROCESSING-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the consideration of the fault confirmation process for the occurrence counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.occurrenceCounterProcessing";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESET-CONFIRMED-BIT-ON-OVERFLOW" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute defines, whether the confirmed bit is reset or not while an event memory entry will be displaced.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.resetConfirmedBitOnOverflow";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-ON-ALL-REQUEST-SIDS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to FALSE the DCM will not respond to diagnostic request that contains a service ID which is in the range from 0x40 to 0x7F or in the  range from 0xC0 to 0xFF (Response IDs).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.responseOnAllRequestSids";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-ON-SECOND-DECLINED-REQUEST" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines the reaction upon a second request (ClientB) that can not be processed (e.g. due to priority assessment).

TRUE: when the second request (Client B) can not be processed, it shall be answered with NRC21 BusyRepeatRequest.

FALSE: when the second request (Client B) can not be processed, it shall not be responded.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.responseOnSecondDeclinedRequest";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURITY-DELAY-TIME-ON-BOOT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Start delay timer on power on in seconds. 

This delay indicates the time at ECU boot power-on time where the Dcm remains in the default session and does not accept a security access.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.securityDelayTimeOnBoot";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATUS-BIT-HANDLING-TEST-FAILED-SINCE-LAST-CLEAR" type="AR:DIAGNOSTIC-STATUS-BIT-HANDLING-TEST-FAILED-SINCE-LAST-CLEAR-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines, whether the aging and displacement mechanism shall be applied to the "TestFailedSinceLastClear" status bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.statusBitHandlingTestFailedSinceLastClear";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATUS-BIT-STORAGE-TEST-FAILED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This parameter is used to activate/deactivate the permanent storage of the "TestFailed" status bits.
true: storage activated 
false: storage deactivated</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.statusBitStorageTestFailed";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-OF-DTC-SUPPORTED" type="AR:DIAGNOSTIC-TYPE-OF-DTC-SUPPORTED-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the format returned by Dem_DcmGetTranslationType and does not relate to/influence the supported Dem functionality.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.typeOfDtcSupported";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-OF-FREEZE-FRAME-RECORD-NUMERATION" type="AR:DIAGNOSTIC-TYPE-OF-FREEZE-FRAME-RECORD-NUMERATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the type of assigning freeze frame record numbers for event-specific freeze frame records.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommonProps.typeOfFreezeFrameRecordNumeration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ServiceNeeds::DiagnosticCommunicationManagerNeeds -->
   <xsd:group name="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (Dcm) which are not related to a particular item (e.g. a PID or DiagnosticRoutineNeeds). The main use case is the mapping of service ports to the Dcm which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommunicationManagerNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-REQUEST-CALLBACK-TYPE" type="AR:DIAGNOSTIC-SERVICE-REQUEST-CALLBACK-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to define whether the usage of PortInterface ServiceRequestNotification has the characteristics of being initiated by a manufacturer or by a supplier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommunicationManagerNeeds.serviceRequestCallbackType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticCommunicationManagerNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (Dcm) which are not related to a particular item (e.g. a PID or DiagnosticRoutineNeeds). The main use case is the mapping of service ports to the Dcm which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCommunicationManagerNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagnosticComponentNeeds -->
   <xsd:group name="DIAGNOSTIC-COMPONENT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the service needs for the configuration of component events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComponentNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticComponentNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-COMPONENT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify the service needs for the configuration of component events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticComponentNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMPONENT-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCondition::DiagnosticCondition -->
   <xsd:group name="DIAGNOSTIC-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Abstract element for StorageConditions and EnableConditions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines the initial status for enable or disable of acceptance/storage of event reports of a diagnostic event. The value is the initialization after power up (before this condition is reported the first time). 

true: acceptance/storage of a diagnostic event enabled
false: acceptance/storage of a diagnostic event disabled</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCondition.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DiagnosticConditionGroup::DiagnosticConditionGroup -->
   <xsd:group name="DIAGNOSTIC-CONDITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>Abstract element for StorageConditionGroups and EnableConditionGroups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConditionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DiagnosticEvent::DiagnosticConnectedIndicator -->
   <xsd:group name="DIAGNOSTIC-CONNECTED-INDICATOR">
      <xsd:annotation>
         <xsd:documentation>Description of indicators that are defined per DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BEHAVIOR" type="AR:DIAGNOSTIC-CONNECTED-INDICATOR-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>Behavior of the linked indicator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicator.behavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEALING-CYCLE-REF">
            <xsd:annotation>
               <xsd:documentation>The deactivation of indicators per event is defined as healing of a diagnostic event. The operation cycle in which the warning indicator will be switched off is defined here.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicator.healingCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-OPERATION-CYCLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDICATOR-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the used indicator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicator.indicator";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-INDICATOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicator.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticEvent::DiagnosticConnectedIndicator -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONNECTED-INDICATOR">
      <xsd:annotation>
         <xsd:documentation>Description of indicators that are defined per DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONNECTED-INDICATOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticConnection::DiagnosticConnection -->
   <xsd:group name="DIAGNOSTIC-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>DiagnosticConncection that is used to describe the relationship between several TP connections.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConnections";mmt.qualifiedName="DiagnosticConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTIONAL-REQUEST-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to functional request messages.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection.functionalRequest";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FUNCTIONAL-REQUEST-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TP-CONNECTION-IDENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIODIC-RESPONSE-UUDT-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to UUDT responses.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection.periodicResponseUudt";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PERIODIC-RESPONSE-UUDT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-REQUEST-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a physical request message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection.physicalRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-CONNECTION-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-ON-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a ROE message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection.responseOnEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-CONNECTION-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-REF">
            <xsd:annotation>
               <xsd:documentation>In the vast majority of cases a response is required. However, there are also cases where providing the response is not possible and/or not allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection.response";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-CONNECTION-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticConnection::DiagnosticConnection -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>DiagnosticConncection that is used to describe the relationship between several TP connections.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConnections";mmt.qualifiedName="DiagnosticConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CONNECTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-CONNECTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticConnection::DiagnosticConnectionRefConditional -->
   <xsd:group name="DIAGNOSTIC-CONNECTION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-CONNECTION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-CONNECTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectionRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticConnection::DiagnosticConnectionRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONNECTION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONNECTION-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticContribution::DiagnosticContributionSet -->
   <xsd:group name="DIAGNOSTIC-CONTRIBUTION-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a root node of a diagnostic extract. It bundles a given set of diagnostic model elements. The granularity of the DiagonsticContributionSet is arbitrary in order to support the aspect of decentralized configuration, i.e. different contributors can come up with an own DiagnosticContributionSet.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticContributionSets";mmt.qualifiedName="DiagnosticContributionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMON-PROPERTIES" type="AR:DIAGNOSTIC-COMMON-PROPS">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.Splitkey="commonProperties";mmt.qualifiedName="DiagnosticContributionSet.commonProperties";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of EcuInstances that are affected by the DiagnosticContributionSet.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticContributionSet.ecuInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECU-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents a DiagnosticCommonElement considered in the context of the DiagnosticContributionSet
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="element, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticContributionSet.element";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-COMMON-ELEMENT-REF-CONDITIONAL" type="AR:DIAGNOSTIC-COMMON-ELEMENT-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-TABLES">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of DiagnosticServiceTables to be considered in the scope of this DiagnosticContributionSet.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="serviceTable, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticContributionSet.serviceTable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL" type="AR:DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticContribution::DiagnosticContributionSet -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONTRIBUTION-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a root node of a diagnostic extract. It bundles a given set of diagnostic model elements. The granularity of the DiagonsticContributionSet is arbitrary in order to support the aspect of decentralized configuration, i.e. different contributors can come up with an own DiagnosticContributionSet.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticContributionSets";mmt.qualifiedName="DiagnosticContributionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONTRIBUTION-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ControlDTCSetting::DiagnosticControlDTCSetting -->
   <xsd:group name="DIAGNOSTIC-CONTROL-DTC-SETTING">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Control DTC Setting" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticControlDtcSettings";mmt.qualifiedName="DiagnosticControlDTCSetting"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-SETTING-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the the reference represents the ability to access shared attributes among all DiagnosticControlDTCSetting in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticControlDTCSetting.dtcSettingClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-SETTING-PARAMETER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the DTCSettingType defined by ISO 14229-1. The pre-defined values are 1 (ON) and 2 (OFF).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticControlDTCSetting.dtcSettingParameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ControlDTCSetting::DiagnosticControlDTCSetting -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONTROL-DTC-SETTING">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Control DTC Setting" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticControlDtcSettings";mmt.qualifiedName="DiagnosticControlDTCSetting"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONTROL-DTC-SETTING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ControlDTCSetting::DiagnosticControlDTCSettingClass -->
   <xsd:group name="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Control DTC Setting" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticControlDtcSettings";mmt.qualifiedName="DiagnosticControlDTCSettingClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTROL-OPTION-RECORD-PRESENT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This represents the decision whether the DTCSettingControlOptionRecord (see ISO 14229-1) is in general supported in the request message.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticControlDTCSettingClass.controlOptionRecordPresent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ControlDTCSetting::DiagnosticControlDTCSettingClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Control DTC Setting" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticControlDtcSettings";mmt.qualifiedName="DiagnosticControlDTCSettingClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticControlNeeds -->
   <xsd:group name="DIAGNOSTIC-CONTROL-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class indicates a service use-case for reporting the controlled status by diagnostic services.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticControlNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticControlNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CONTROL-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class indicates a service use-case for reporting the controlled status by diagnostic services.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticControlNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONTROL-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CommonService::DiagnosticCustomServiceClass -->
   <xsd:group name="DIAGNOSTIC-CUSTOM-SERVICE-CLASS">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a custom diagnostic service class and assign an ID to it. Further configuration is not foreseen from the point of view of the diagnostic extract and consequently needs to be done on the level of ECUC.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticCustomServiceClasses";mmt.qualifiedName="DiagnosticCustomServiceClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-SERVICE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute may only be used for the definition of custom services. The values shall not overlap with existing standardized service IDs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCustomServiceClass.customServiceId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonService::DiagnosticCustomServiceClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-CUSTOM-SERVICE-CLASS">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a custom diagnostic service class and assign an ID to it. Further configuration is not foreseen from the point of view of the diagnostic extract and consequently needs to be done on the level of ECUC.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticCustomServiceClasses";mmt.qualifiedName="DiagnosticCustomServiceClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataByIdentifier::DiagnosticDataByIdentifier -->
   <xsd:group name="DIAGNOSTIC-DATA-BY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an abstract base class for all diagnostic services that access data by identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataByIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the linked DiagnosticDataIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataByIdentifier.dataIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ResponseOnEvent::DiagnosticDataChangeTrigger -->
   <xsd:group name="DIAGNOSTIC-DATA-CHANGE-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a trigger based on the change of a given DiagnosticDataIdentifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataChangeTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding DiagnosticDataIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataChangeTrigger.dataIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResponseOnEvent::DiagnosticDataChangeTrigger -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DATA-CHANGE-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a trigger based on the change of a given DiagnosticDataIdentifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataChangeTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-TRIGGER"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-CHANGE-TRIGGER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticDataElement -->
   <xsd:group name="DIAGNOSTIC-DATA-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a concrete piece of data to be taken into account for diagnostic purposes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE-SEMANTICS" type="AR:ARRAY-SIZE-SEMANTICS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the meaning of the value of the array size.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataElement.arraySizeSemantics";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-ELEMENTS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The existence of this attribute turns the data instance into an array of data. The attribute determines the size of the array in terms of how many elements the array can take.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataElement.maxNumberOfElements";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>This property allows to specify data definition properties in order to support the definition of e.g. computation formulae and data constraints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataElement.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataElement.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticDataElement -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DATA-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a concrete piece of data to be taken into account for diagnostic purposes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DATA-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DATA-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonDiagnostics::DiagnosticDataIdentifier -->
   <xsd:group name="DIAGNOSTIC-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a diagnostic data identifier (DID) that is fully specified regarding the payload at configuration-time.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataIdentifiers";mmt.qualifiedName="DiagnosticDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This is the dataElement associated with the DiagnosticDataIdentifier.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataElement, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticDataIdentifier.dataElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DID-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates the size of the DiagnosticDataIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataIdentifier.didSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REPRESENTS-VIN" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attributes indicates whether the specific DiagnosticDataIdentifier represents the vehicle identification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataIdentifier.representsVin";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORT-INFO-BYTE" type="AR:DIAGNOSTIC-SUPPORT-INFO-BYTE">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the supported information associated with the DiagnosticDataIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataIdentifier.supportInfoByte";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticDataIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a diagnostic data identifier (DID) that is fully specified regarding the payload at configuration-time.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataIdentifiers";mmt.qualifiedName="DiagnosticDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DATA-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticDataIdentifierSet -->
   <xsd:group name="DIAGNOSTIC-DATA-IDENTIFIER-SET">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a list of DiagnosticDataIdentifiers that can be reused in different contexts.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataIdentifierSets";mmt.qualifiedName="DiagnosticDataIdentifierSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDENTIFIER-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to an orderd list of Data Identifiers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataIdentifierSet.dataIdentifier";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-IDENTIFIER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticDataIdentifierSet -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DATA-IDENTIFIER-SET">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a list of DiagnosticDataIdentifiers that can be reused in different contexts.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataIdentifierSets";mmt.qualifiedName="DiagnosticDataIdentifierSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DATA-IDENTIFIER-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MemoryByAddress::DiagnosticDataTransfer -->
   <xsd:group name="DIAGNOSTIC-DATA-TRANSFER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Data Transfer" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticDataTransfer"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TRANSFER-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticDataTransfer in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataTransfer.dataTransferClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-TRANSFER-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticDataTransfer -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DATA-TRANSFER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Data Transfer" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticDataTransfer"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-TRANSFER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticDataTransferClass -->
   <xsd:group name="DIAGNOSTIC-DATA-TRANSFER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Data Transfer" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticDataTransferClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticDataTransferClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DATA-TRANSFER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Data Transfer" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticDataTransferClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DATA-TRANSFER-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticDebouncingAlgorithm::DiagnosticDebounceAlgorithmProps -->
   <xsd:group name="DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines properties for the debounce algorithm class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDebounceAlgorithmProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBOUNCE-ALGORITHM">
            <xsd:annotation>
               <xsd:documentation>This represents the actual debounce algorithm.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDebounceAlgorithmProps.debounceAlgorithm";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="DIAG-EVENT-DEBOUNCE-COUNTER-BASED" type="AR:DIAG-EVENT-DEBOUNCE-COUNTER-BASED"/>
                  <xsd:element name="DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL" type="AR:DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL"/>
                  <xsd:element name="DIAG-EVENT-DEBOUNCE-TIME-BASED" type="AR:DIAG-EVENT-DEBOUNCE-TIME-BASED"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBOUNCE-BEHAVIOR" type="AR:DIAGNOSTIC-DEBOUNCE-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines how the event debounce algorithm will behave, if a related enable condition is not fulfilled or ControlDTCSetting of the related event is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDebounceAlgorithmProps.debounceBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBOUNCE-COUNTER-STORAGE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch to store the debounce counter value non-volatile or not.
true: debounce counter value shall be stored non-volatile 
false: debounce counter value is volatile</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDebounceAlgorithmProps.debounceCounterStorage";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticDebouncingAlgorithm::DiagnosticDebounceAlgorithmProps -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines properties for the debounce algorithm class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDebounceAlgorithmProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceMapping::DiagnosticDemProvidedDataMapping -->
   <xsd:group name="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the nature of a data access for a DiagnsoticDataElement in the Dem.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceMappings";mmt.qualifiedName="DiagnosticDemProvidedDataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the DiagnosticDataElement for which the access is further qualified by the DiagnosticDemProvidedDataMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDemProvidedDataMapping.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PROVIDER" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to further specify the access within the Dem.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDemProvidedDataMapping.dataProvider";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::DiagnosticDemProvidedDataMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the nature of a data access for a DiagnsoticDataElement in the Dem.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceMappings";mmt.qualifiedName="DiagnosticDemProvidedDataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ResponseOnEvent::DiagnosticDtcChangeTrigger -->
   <xsd:group name="DIAGNOSTIC-DTC-CHANGE-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a trigger that executes on the change of any DiagnosticTroubleCode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDtcChangeTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ResponseOnEvent::DiagnosticDtcChangeTrigger -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DTC-CHANGE-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a trigger that executes on the change of any DiagnosticTroubleCode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDtcChangeTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-TRIGGER"/>
         <xsd:group ref="AR:DIAGNOSTIC-DTC-CHANGE-TRIGGER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticDynamicDataIdentifier -->
   <xsd:group name="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic data identifier (DID) at run-time.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataIdentifiers";mmt.qualifiedName="DiagnosticDynamicDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticDynamicDataIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic data identifier (DID) at run-time.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataIdentifiers";mmt.qualifiedName="DiagnosticDynamicDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:group ref="AR:DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DynamicallyDefineDataIdentifier::DiagnosticDynamicallyDefineDataIdentifier -->
   <xsd:group name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Dynamically Define Data Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDynamicallyDefineDataIdentifiers";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable DiagnosticDynamicDataIdentfier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifier.dataIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticDynamicallyDefineDataIdentifier in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifier.dynamicallyDefineDataIdentifierClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SOURCE-ELEMENT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the maximum number of source elements of the dynamically created DID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifier.maxSourceElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DynamicallyDefineDataIdentifier::DiagnosticDynamicallyDefineDataIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Dynamically Define Data Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDynamicallyDefineDataIdentifiers";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DynamicallyDefineDataIdentifier::DiagnosticDynamicallyDefineDataIdentifierClass -->
   <xsd:group name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Dynamically Define Data Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDynamicallyDefineDataIdentifiers";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHECK-PER-SOURCE-ID" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to TRUE, the Dcm module shall check the session, security and mode dependencies per source DIDs with a ReadDataByIdentifier (0x22) with DID in the range 0xF200 to 0xF3FF.

If set to FALSE. the Dcm module shall not check the session, security and mode dependencies per source DIDs with a ReadDataByIdentifier (0x22) with DID in the range 0xF200 to 0xF3FF.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierClass.checkPerSourceId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIGURATION-HANDLING" type="AR:DIAGNOSTIC-HANDLE-DDDI-CONFIGURATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>This configuration switch defines whether DDDID definition is handled as non-volatile information or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierClass.configurationHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUBFUNCTIONS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUBFUNCTION" type="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-SUBFUNCTION-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>This attribute contains a list of applicable subfunctions for all DiagnosticDynamicallyDefineDataIdentifier that reference the DiagnosticDynamicallyDefineDataIdentifierClass.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierClass.subfunction";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DynamicallyDefineDataIdentifier::DiagnosticDynamicallyDefineDataIdentifierClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Dynamically Define Data Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDynamicallyDefineDataIdentifiers";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticContribution::DiagnosticEcuInstanceProps -->
   <xsd:group name="DIAGNOSTIC-ECU-INSTANCE-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model properties that are specific for a given EcuInstance but on the other hand represent purely diagnostic-related information. 

In the spirit of decentralized configuration it is therefore possible to specify the diagnostic-related information related to a given EcuInstance even if the EcuInstance does not yet exist.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEcuInstancePropss";mmt.qualifiedName="DiagnosticEcuInstanceProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-STATUS-AVAILABILITY-MASK" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute contains the value of the DTC status availability mask.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuInstanceProps.dtcStatusAvailabilityMask";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the actual EcuInstance to which the information conatined in the DiagnosticEcuInstance contribute.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="ecuInstance";mmt.qualifiedName="DiagnosticEcuInstanceProps.ecuInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECU-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBD-SUPPORT" type="AR:DIAGNOSTIC-OBD-SUPPORT-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to specify the role (if applicable) in which the DiagnosticEcuInstance supports OBD.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuInstanceProps.obdSupport";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEND-RESP-PEND-ON-TRANS-TO-BOOT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>The purpose of this attribute is to define whether or not the ECU should send a NRC 0x78 (response pending) before transitioning to the bootloader (in this case the attribute shall be set to "true") or if the transition shall be initiated without sending NRC 0x78 (in this case the attribute shall be set to "false").</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuInstanceProps.sendRespPendOnTransToBoot";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticContribution::DiagnosticEcuInstanceProps -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ECU-INSTANCE-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model properties that are specific for a given EcuInstance but on the other hand represent purely diagnostic-related information. 

In the spirit of decentralized configuration it is therefore possible to specify the diagnostic-related information related to a given EcuInstance even if the EcuInstance does not yet exist.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEcuInstancePropss";mmt.qualifiedName="DiagnosticEcuInstanceProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ECU-INSTANCE-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCommonProps::DiagnosticEcuProps -->
   <xsd:group name="DIAGNOSTIC-ECU-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class is defined to gather diagnostic-related properties that apply in the scope of an entire ECU.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-OBD-RELEVANT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates whether the ECU makes any contribution to the OBD.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuProps.isObdRelevant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEND-RESP-PEND-ON-TRANS-TO-BOOT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>The purpose of this attribute is to define whether or not the ECU should send a NRC 0x78 (response pending) before transitioning to the bootloader (in this case the attribute shall be set to "true") or if the transition shall be initiated without sending NRC 0x78 (in this case the attribute shall be set to "false").</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuProps.sendRespPendOnTransToBoot";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticCommonProps::DiagnosticEcuProps -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ECU-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class is defined to gather diagnostic-related properties that apply in the scope of an entire ECU.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ECU-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EcuReset::DiagnosticEcuReset -->
   <xsd:group name="DIAGNOSTIC-ECU-RESET">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "ECU Reset" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEcuResets";mmt.qualifiedName="DiagnosticEcuReset"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-SUB-FUNCTION-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute shall be used to define a custom sub-function number if none of the standardized values of category shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuReset.customSubFunctionNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-RESET-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticEcuReset in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuReset.ecuResetClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ECU-RESET-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPOND-TO-RESET" type="AR:DIAGNOSTIC-RESPONSE-TO-ECU-RESET-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines whether the response to the EcuReset service shall be transmitted before or after the actual reset.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticEcuReset.respondToReset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuReset::DiagnosticEcuReset -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ECU-RESET">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "ECU Reset" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEcuResets";mmt.qualifiedName="DiagnosticEcuReset"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-ECU-RESET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EcuReset::DiagnosticEcuResetClass -->
   <xsd:group name="DIAGNOSTIC-ECU-RESET-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Ecu Reset" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEcuResets";mmt.qualifiedName="DiagnosticEcuResetClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPOND-TO-RESET" type="AR:DIAGNOSTIC-RESPONSE-TO-ECU-RESET-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines whether the response to the EcuReset service shall be transmitted before or after the actual reset.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEcuResetClass.respondToReset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuReset::DiagnosticEcuResetClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ECU-RESET-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Ecu Reset" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEcuResets";mmt.qualifiedName="DiagnosticEcuResetClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-ECU-RESET-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ECU-RESET-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticCondition::DiagnosticEnableCondition -->
   <xsd:group name="DIAGNOSTIC-ENABLE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Specification of an enable condition.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticEnableCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DiagnosticCondition::DiagnosticEnableCondition -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENABLE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Specification of an enable condition.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticEnableCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONDITION"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENABLE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ENABLE-CONDITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticConditionGroup::DiagnosticEnableConditionGroup -->
   <xsd:group name="DIAGNOSTIC-ENABLE-CONDITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>Enable condition group which includes one or several enable conditions.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticEnableConditionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>Reference to enableConditions that are part of the EnableConditionGroup.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="enableCondition, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticEnableConditionGroup.enableCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION-REF-CONDITIONAL" type="AR:DIAGNOSTIC-ENABLE-CONDITION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticConditionGroup::DiagnosticEnableConditionGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENABLE-CONDITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>Enable condition group which includes one or several enable conditions.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticEnableConditionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONDITION-GROUP"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ENABLE-CONDITION-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticEnableConditionNeeds -->
   <xsd:group name="DIAGNOSTIC-ENABLE-CONDITION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to provide the capability to set an enable condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-STATUS" type="AR:EVENT-ACCEPTANCE-STATUS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the initial status for enable or disable of acceptance of event reports of a diagnostic event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionNeeds.initialStatus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticEnableConditionNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENABLE-CONDITION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to provide the capability to set an enable condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticEnableConditionPortMapping -->
   <xsd:group name="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticEnableConditionNeeds the DiagnosticEnableCondition is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEnableConditionPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-CONDITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the EnableCondition which is mapped to a SWC service port with DiagnosticEnableConditionNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionPortMapping.enableCondition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ENABLE-CONDITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-FLAT-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a SwcServiceDependencyType that links ServiceNeeds to SWC service ports. This reference can be used in early stages of the development in order to identify the SwcServiceDependency without a full System Context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionPortMapping.swcFlatServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IN-SYSTEM-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionPortMapping.swcServiceDependencyInSystem";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticEnableConditionPortMapping.swcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEnableConditionPortMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticEnableConditionNeeds the DiagnosticEnableCondition is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEnableConditionPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SW-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCondition::DiagnosticEnableConditionRefConditional -->
   <xsd:group name="DIAGNOSTIC-ENABLE-CONDITION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-ENABLE-CONDITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableCondition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ENABLE-CONDITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableConditionRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticCondition::DiagnosticEnableConditionRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENABLE-CONDITION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnableCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENABLE-CONDITION-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvBswModeElement -->
   <xsd:group name="DIAGNOSTIC-ENV-BSW-MODE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to refer to a specific ModeDeclaration in the scope of a BswModuleDescription.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvBswModeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-IREF" type="AR:MODE-IN-BSW-MODULE-DESCRIPTION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This reference identifies both the ModeDeclarationGroupPrototype and the
ModeDeclaration for the specific mode comparison.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvBswModeElement.mode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EnvironmentalCondition::DiagnosticEnvBswModeElement -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENV-BSW-MODE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to refer to a specific ModeDeclaration in the scope of a BswModuleDescription.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvBswModeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-MODE-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-BSW-MODE-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvCompareCondition -->
   <xsd:group name="DIAGNOSTIC-ENV-COMPARE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>DiagnosticCompareConditions are atomic conditions. They are based on the idea of a comparison at runtime of some variable data with something constant. The type of the comparison (==, !=, &lt;, &lt;=, ...) is specified in  DiagnosticCompareCondition.compareType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvCompareCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPARE-TYPE" type="AR:DIAGNOSTIC-COMPARE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attributes represents the concrete type of the comparison.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvCompareCondition.compareType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvConditionFormula -->
   <xsd:group name="DIAGNOSTIC-ENV-CONDITION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>A DiagnosticEnvConditionFormula embodies the computation instruction that is to be evaluated at runtime to determine if the DiagnosticEnvironmentalCondition is currently present (i.e. the formula is evaluated to true) or not (otherwise). The formula itself consists of parts which are combined by the logical operations specified by DiagnosticEnvConditionFormula.op.

If a diagnostic functionality cannot be executed because an environmental condition fails then the diagnostic stack shall send a negative response code (NRC) back to the client. The value of the NRC is directly related to the specific formula and is therefore formalized in the attribute DiagnosticEnvConditionFormula.nrcValue.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvConditionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NRC-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the concrete NRC value that shall be returned if the condition fails.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvConditionFormula.nrcValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OP" type="AR:DIAGNOSTIC-LOGICAL-OPERATOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the concrete operator (supported operators: and, or) of the condition formula.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvConditionFormula.op";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARTS">
            <xsd:annotation>
               <xsd:documentation>This aggregation represents the collection of formula parts that can be combined by logical operators.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvConditionFormula.part";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-ENV-CONDITION-FORMULA" type="AR:DIAGNOSTIC-ENV-CONDITION-FORMULA"/>
                  <xsd:element name="DIAGNOSTIC-ENV-DATA-CONDITION" type="AR:DIAGNOSTIC-ENV-DATA-CONDITION"/>
                  <xsd:element name="DIAGNOSTIC-ENV-MODE-CONDITION" type="AR:DIAGNOSTIC-ENV-MODE-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EnvironmentalCondition::DiagnosticEnvConditionFormula -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENV-CONDITION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>A DiagnosticEnvConditionFormula embodies the computation instruction that is to be evaluated at runtime to determine if the DiagnosticEnvironmentalCondition is currently present (i.e. the formula is evaluated to true) or not (otherwise). The formula itself consists of parts which are combined by the logical operations specified by DiagnosticEnvConditionFormula.op.

If a diagnostic functionality cannot be executed because an environmental condition fails then the diagnostic stack shall send a negative response code (NRC) back to the client. The value of the NRC is directly related to the specific formula and is therefore formalized in the attribute DiagnosticEnvConditionFormula.nrcValue.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvConditionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-CONDITION-FORMULA-PART"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-CONDITION-FORMULA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvConditionFormulaPart -->
   <xsd:group name="DIAGNOSTIC-ENV-CONDITION-FORMULA-PART">
      <xsd:annotation>
         <xsd:documentation>A DiagnosticEnvConditionFormulaPart can either be a atomic condition, e.g. a DiagnosticEnvCompareCondition, or a DiagnosticEnvConditionFormula, again, which allows arbitrary nesting.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvConditionFormulaPart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvDataCondition -->
   <xsd:group name="DIAGNOSTIC-ENV-DATA-CONDITION">
      <xsd:annotation>
         <xsd:documentation>A DiagnosticEnvDataCondition is an atomic condition that compares the current value of the referenced DiagnosticDataElement with a constant value defined by the ValueSpecification. All compareTypes are supported.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvDataCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPARE-VALUE">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvDataCondition.compareValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference represents the related diagnostic data element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvDataCondition.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EnvironmentalCondition::DiagnosticEnvDataCondition -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENV-DATA-CONDITION">
      <xsd:annotation>
         <xsd:documentation>A DiagnosticEnvDataCondition is an atomic condition that compares the current value of the referenced DiagnosticDataElement with a constant value defined by the ValueSpecification. All compareTypes are supported.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvDataCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-CONDITION-FORMULA-PART"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-COMPARE-CONDITION"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-DATA-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvModeCondition -->
   <xsd:group name="DIAGNOSTIC-ENV-MODE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>DiagnosticEnvModeCondition are atomic condition based on the comparison of the active ModeDeclaration in a ModeDeclarationGroupProtoype with the constant value of a ModeDeclaration.

The formulation of this condition uses only one DiagnosticEnvElement, which contains enough information to deduce the variable part (i.e. the part that changes at runtime) as well as the constant part of the comparison.

Only DiagnosticCompareTypeEnum.isEqual or DiagnosticCompareTypeEnum.isNotEqual are eligible values for DiagnosticAtomicCondition.compareType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvModeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference represents both the ModeDeclarationGroupPrototype and the ModeDeclaration relevant for the mode comparison.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvModeCondition.modeElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ENV-MODE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EnvironmentalCondition::DiagnosticEnvModeCondition -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENV-MODE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>DiagnosticEnvModeCondition are atomic condition based on the comparison of the active ModeDeclaration in a ModeDeclarationGroupProtoype with the constant value of a ModeDeclaration.

The formulation of this condition uses only one DiagnosticEnvElement, which contains enough information to deduce the variable part (i.e. the part that changes at runtime) as well as the constant part of the comparison.

Only DiagnosticCompareTypeEnum.isEqual or DiagnosticCompareTypeEnum.isNotEqual are eligible values for DiagnosticAtomicCondition.compareType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvModeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-CONDITION-FORMULA-PART"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-COMPARE-CONDITION"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-MODE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvModeElement -->
   <xsd:group name="DIAGNOSTIC-ENV-MODE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>All ModeDeclarations that are referenced in a DiagnosticEnvModeCondition must be defined as a DiagnosticEnvModeElement of this DignosticEnvironmentalCondition.

This concept keeps the ARXML clean: It avoids that the DignosticEnvConditionFormula is cluttered by lengthy InstanceRef definitions. 

Furthermore, it allows that an InstanceRef only needs to be defined once and can be used multiple times in the different DiagnosticEnvModeConditions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvModeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-ENV-MODE-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ENV-BSW-MODE-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ENV-MODE-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ENV-SWC-MODE-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvSwcModeElement -->
   <xsd:group name="DIAGNOSTIC-ENV-SWC-MODE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to refer to a ModeDeclaration in a concrete System context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvSwcModeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-IREF" type="AR:P-MODE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This reference identifies both the ModeDeclarationGroupPrototype and the ModeDeclaration for the specific mode comparison.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvSwcModeElement.mode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EnvironmentalCondition::DiagnosticEnvSwcModeElement -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENV-SWC-MODE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to refer to a ModeDeclaration in a concrete System context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvSwcModeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-MODE-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENV-SWC-MODE-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EnvironmentalCondition::DiagnosticEnvironmentalCondition -->
   <xsd:group name="DIAGNOSTIC-ENVIRONMENTAL-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The meta-class DignosticEnvironmentalCondition formalizes the idea of a condition which is evaluated during runtime of the ECU by looking at "environmental" states (e.g. one such condition is that the vehicle is not driving, i.e. vehicle speed == 0).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEnvironmentalConditions";mmt.qualifiedName="DiagnosticEnvironmentalCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FORMULA" type="AR:DIAGNOSTIC-ENV-CONDITION-FORMULA">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the formula part of the DiagnosticEnvironmentalCondition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvironmentalCondition.formula";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This aggregation contains a representation of ModeDeclarations in the context of a DiagnosticEnvironmentalCondition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEnvironmentalCondition.modeElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-ENV-BSW-MODE-ELEMENT" type="AR:DIAGNOSTIC-ENV-BSW-MODE-ELEMENT"/>
                  <xsd:element name="DIAGNOSTIC-ENV-SWC-MODE-ELEMENT" type="AR:DIAGNOSTIC-ENV-SWC-MODE-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EnvironmentalCondition::DiagnosticEnvironmentalCondition -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ENVIRONMENTAL-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The meta-class DignosticEnvironmentalCondition formalizes the idea of a condition which is evaluated during runtime of the ECU by looking at "environmental" states (e.g. one such condition is that the vehicle is not driving, i.e. vehicle speed == 0).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEnvironmentalConditions";mmt.qualifiedName="DiagnosticEnvironmentalCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ENVIRONMENTAL-CONDITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticEvent::DiagnosticEvent -->
   <xsd:group name="DIAGNOSTIC-EVENT">
      <xsd:annotation>
         <xsd:documentation>This element is used to configure DiagnosticEvents.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEvents";mmt.qualifiedName="DiagnosticEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AGING-ALLOWED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This represents the decision whether aging is allowed for this DiagnosticEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEvent.agingAllowed";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLEAR-EVENT-BEHAVIOR" type="AR:DIAGNOSTIC-CLEAR-EVENT-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the resulting UDS status byte for the related event, which shall not be cleared according to the ClearEventAllowed callback.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEvent.clearEventBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTED-INDICATORS">
            <xsd:annotation>
               <xsd:documentation>Event specific description of Indicators.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticEvent.connectedIndicator";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-CONNECTED-INDICATOR" type="AR:DIAGNOSTIC-CONNECTED-INDICATOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-CLEAR-ALLOWED" type="AR:DIAGNOSTIC-EVENT-CLEAR-ALLOWED-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines whether the Dem has access to a "ClearEventAllowed" callback.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEvent.eventClearAllowed";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-FAILURE-CYCLE-COUNTER-THRESHOLD" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the number of failure cycles for the event based fault confirmation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEvent.eventFailureCycleCounterThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-KIND" type="AR:DIAGNOSTIC-EVENT-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to distinguish between SWC and BSW events.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEvent.eventKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRESTORAGE-FREEZE-FRAME" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute describes whether the Prestorage of FreezeFrames is supported by the assigned event or not.

True: Prestorage of FreezeFrames is supported
False:  Prestorage of FreezeFrames is not supported</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEvent.prestorageFreezeFrame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticEvent::DiagnosticEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT">
      <xsd:annotation>
         <xsd:documentation>This element is used to configure DiagnosticEvents.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticEvents";mmt.qualifiedName="DiagnosticEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticEventInfoNeeds -->
   <xsd:group name="DIAGNOSTIC-EVENT-INFO-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component interested to get information regarding specific DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventInfoNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-KIND" type="AR:DTC-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates the kind of the diagnostic event according to the SWS Diagnostic Event Manger for which the DiagnosticInfo is requested.

This attribute applies for the UDS diagnostics use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventInfoNeeds.dtcKind";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a reasonable Diagnostic Trouble Code for which the DiagnosticInfo is requested.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticEventInfoNeeds.dtcNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBD-DTC-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a reasonable Diagnostic Trouble Code.

This allows to predefine the Diagnostic Trouble Code, e.g. if the function developer has received a particular requirement from the OEM or from a standardization body.

This attribute applies for the OBD diagnostics use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventInfoNeeds.obdDtcNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UDS-DTC-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a reasonable Diagnostic Trouble Code.

This allows to predefine the Diagnostic Trouble Code, e.g. if the function developer has received a particular requirement from the OEM or from a standardization body.

This attribute applies for the UDS diagnostics use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventInfoNeeds.udsDtcNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticEventInfoNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-INFO-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component interested to get information regarding specific DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventInfoNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-INFO-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagnosticEventManagerNeeds -->
   <xsd:group name="DIAGNOSTIC-EVENT-MANAGER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Event Manager (Dem) which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventManagerNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticEventManagerNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-MANAGER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Event Manager (Dem) which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventManagerNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagnosticEventNeeds -->
   <xsd:group name="DIAGNOSTIC-EVENT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Diagnostic Event Manager for one diagnostic event. Its shortName can be regarded as a symbol identifying the diagnostic event from the viewpoint of the component or module which owns this element.

In case the diagnostic event specifies a production error, the shortName shall be the name of the production error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSIDER-PTO-STATUS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>PTO (Power Take Off) has an impact on the respective emission-related event (OBD). This information shall be provided by SW-C description in order to consider the PTO relevance e.g. for readiness (PID $01) computation. For events with dtcKind set to 'nonEmmissionRelatedDtc' this attribute is typically false.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.considerPtoStatus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFERRING-FID-REFS">
            <xsd:annotation>
               <xsd:documentation>This reference contains the link to a function identifier within the FiM which is used by the monitor before delivering a result.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.deferringFid";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DEFERRING-FID-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FUNCTION-INHIBITION-NEEDS--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAG-EVENT-DEBOUNCE-ALGORITHM">
            <xsd:annotation>
               <xsd:documentation>Specifies the abstract need on the Debounce Algorithm applied by the Diagnostic Event Manager.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.diagEventDebounceAlgorithm";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="DIAG-EVENT-DEBOUNCE-COUNTER-BASED" type="AR:DIAG-EVENT-DEBOUNCE-COUNTER-BASED"/>
                  <xsd:element name="DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL" type="AR:DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL"/>
                  <xsd:element name="DIAG-EVENT-DEBOUNCE-TIME-BASED" type="AR:DIAG-EVENT-DEBOUNCE-TIME-BASED"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-KIND" type="AR:DTC-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates the kind of the diagnostic monitor according to the SWS Diagnostic Event Manger. 

This attribute applies for the UDS diagnostics use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.dtcKind";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a reasonable Diagnostic Trouble Code.
This allows to predefine the Diagnostic Trouble Code if the a function developer has received a particular requirement from the OEM or from a standardization body.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticEventNeeds.dtcNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INHIBITING-FID-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the primary Function Inhibition Identifier used for inhibition of the diagnostic monitor. The FID might either inhibit the monitoring of a symptom or the reporting of detected faults.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.inhibitingFid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FUNCTION-INHIBITION-NEEDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INHIBITING-SECONDARY-FID-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the secondary Function Inhibition Identifier used for inhibition of the diagnostic monitor. Any of the FID inhibitions leads to an inhibition of the
monitoring of a symptom or the reporting of detected faults.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.inhibitingSecondaryFid";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INHIBITING-SECONDARY-FID-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FUNCTION-INHIBITION-NEEDS--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBD-DTC-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a reasonable Diagnostic Trouble Code.
This allows to predefine the Diagnostic Trouble Code, e.g. if the a function developer has received a particular requirement from the OEM or from a standardization body.

This attribute applies for the OBD diagnostics use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.obdDtcNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REPORT-BEHAVIOR" type="AR:REPORT-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>This switch indicates whether or not the BSW module is allowed to report the related Events before Dem_Init().</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.reportBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UDS-DTC-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a reasonable Diagnostic Trouble Code.
This allows to predefine the Diagnostic Trouble Code, e.g. if the a function developer has received a particular requirement from the OEM or from a standardization body.

This attribute applies for the UDS diagnostics use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds.udsDtcNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticEventNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Diagnostic Event Manager for one diagnostic event. Its shortName can be regarded as a symbol identifying the diagnostic event from the viewpoint of the component or module which owns this element.

In case the diagnostic event specifies a production error, the shortName shall be the name of the production error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EVENT-NEEDS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-EVENT-NEEDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticMapping::DiagnosticEventPortMapping -->
   <xsd:group name="DIAGNOSTIC-EVENT-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticEventNeeds the DiagnosticEvent is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a BswServiceDependency that links ServiceNeeds to BswModuleEntries.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventPortMapping.bswServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-SERVICE-DEPENDENCY-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the DiagnosticEvent that is assigned to SWC service ports with DiagnosticEventNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventPortMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-FLAT-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a SwcServiceDependencyType that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventPortMapping.swcFlatServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IN-SYSTEM-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventPortMapping.swcServiceDependencyInSystem";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticEventPortMapping.swcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEventPortMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticEventNeeds the DiagnosticEvent is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SW-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-PORT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticEventToDebounceAlgorithmMapping -->
   <xsd:group name="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which Debounce Algorithm is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToDebounceAlgorithmMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBOUNCE-ALGORITHM-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DebounceAlgorithm assigned to a DiagnosticEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToDebounceAlgorithmMapping.debounceAlgorithm";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DiagnosticEvent to which a DebounceAlgorithm is assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToDebounceAlgorithmMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEventToDebounceAlgorithmMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which Debounce Algorithm is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToDebounceAlgorithmMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticEventToEnableConditionGroupMapping -->
   <xsd:group name="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which EnableConditionGroup is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToEnableConditionGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DiagnosticEvent to which an EnableConditionGroup is assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToEnableConditionGroupMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-CONDITION-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an EnableConditionGroup assigned to a DiagnosticEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToEnableConditionGroupMapping.enableConditionGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ENABLE-CONDITION-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEventToEnableConditionGroupMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which EnableConditionGroup is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToEnableConditionGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticEventToOperationCycleMapping -->
   <xsd:group name="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which OperationCycle is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToOperationCycleMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DiagnosticEvent to which an OperationCycle is assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToOperationCycleMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-CYCLE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an OperationCycle assigned to a DiagnosticEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToOperationCycleMapping.operationCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-OPERATION-CYCLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEventToOperationCycleMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which OperationCycle is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToOperationCycleMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticEventToStorageConditionGroupMapping -->
   <xsd:group name="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which StorageConditionGroup is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToStorageConditionGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DiagnosticEvent to which a StorageConditionGroup is assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToStorageConditionGroupMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORAGE-CONDITION-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a StorageConditionGroup assigned to a DiagnosticEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToStorageConditionGroupMapping.storageConditionGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-STORAGE-CONDITION-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEventToStorageConditionGroupMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which StorageConditionGroup is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToStorageConditionGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticEventToTroubleCodeUdsMapping -->
   <xsd:group name="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which UDS Diagnostic Trouble Code is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToTroubleCodeUdsMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a DiagnosticEvent to which a UDS Diagnostic Trouble Code  is assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToTroubleCodeUdsMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TROUBLE-CODE-UDS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an UDS Diagnostic Trouble Code  assigned to a DiagnosticEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventToTroubleCodeUdsMapping.troubleCodeUds";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE-UDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticEventToTroubleCodeUdsMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines which UDS Diagnostic Trouble Code is applicable for a DiagnosticEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticEventToTroubleCodeUdsMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ResponseOnEvent::DiagnosticEventWindow -->
   <xsd:group name="DIAGNOSTIC-EVENT-WINDOW">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the characteristics of the applicable event window</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventWindow"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-WINDOW-TIME" type="AR:DIAGNOSTIC-EVENT-WINDOW-TIME-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute clarifies the validity of the eventWindow</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventWindow.eventWindowTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORAGE-STATE-EVALUATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to TRUE the StorageStateBit will be evaluated if this EventWindowTime is requested.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventWindow.storageStateEvaluation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResponseOnEvent::DiagnosticEventWindow -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EVENT-WINDOW">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the characteristics of the applicable event window</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventWindow"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EVENT-WINDOW"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticExtendedDataRecord::DiagnosticExtendedDataRecord -->
   <xsd:group name="DIAGNOSTIC-EXTENDED-DATA-RECORD">
      <xsd:annotation>
         <xsd:documentation>Description of an extended data record.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticExtendedDataRecords";mmt.qualifiedName="DiagnosticExtendedDataRecord"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECORD-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>Defined DataElements in the extended record element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord.recordElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECORD-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies an unique identifier for an extended data record.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord.recordNumber";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER" type="AR:DIAGNOSTIC-RECORD-TRIGGER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the primary trigger to allocate an event memory entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPDATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute defines when an extended data record is captured.
True: This extended data record is captured every time.
False: This extended data record is only captured for new event memory entries.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord.update";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticExtendedDataRecord::DiagnosticExtendedDataRecord -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EXTENDED-DATA-RECORD">
      <xsd:annotation>
         <xsd:documentation>Description of an extended data record.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticExtendedDataRecords";mmt.qualifiedName="DiagnosticExtendedDataRecord"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EXTENDED-DATA-RECORD--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticExtendedDataRecord::DiagnosticExtendedDataRecordRefConditional -->
   <xsd:group name="DIAGNOSTIC-EXTENDED-DATA-RECORD-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EXTENDED-DATA-RECORD-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EXTENDED-DATA-RECORD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecordRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticExtendedDataRecord::DiagnosticExtendedDataRecordRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-EXTENDED-DATA-RECORD-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticExtendedDataRecord"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-EXTENDED-DATA-RECORD-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Fim::DiagnosticFimAliasEvent -->
   <xsd:group name="DIAGNOSTIC-FIM-ALIAS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to represent a given event semantics.
However, the name of the actual events used in a specific project is sometimes not
defined yet, not known or not in the responsibility of the author. Therefore, the
DiagnosticFimAliasEvent has a reference to the actual DiagnosticEvent and by this the
final connection is created.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimAliasEvents";mmt.qualifiedName="DiagnosticFimAliasEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFimAliasEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FIM-ALIAS-EVENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to represent a given event semantics.
However, the name of the actual events used in a specific project is sometimes not
defined yet, not known or not in the responsibility of the author. Therefore, the
DiagnosticFimAliasEvent has a reference to the actual DiagnosticEvent and by this the
final connection is created.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimAliasEvents";mmt.qualifiedName="DiagnosticFimAliasEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ABSTRACT-ALIAS-EVENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FIM-ALIAS-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-FIM-ALIAS-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fim::DiagnosticFimAliasEventGroup -->
   <xsd:group name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an alias for a Fim summarized event. This alias can be used in early phases of the configuration process until a further refinement is possible.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimAliasEventGroups";mmt.qualifiedName="DiagnosticFimAliasEventGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="GROUPED-ALIAS-EVENT-REFS">
            <xsd:annotation>
               <xsd:documentation>By means of this reference the grouping of DiagnosticAliasEvents within the DiagnosticFimSummaryEvent can be specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimAliasEventGroup.groupedAliasEvent";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="GROUPED-ALIAS-EVENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFimAliasEventGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an alias for a Fim summarized event. This alias can be used in early phases of the configuration process until a further refinement is possible.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimAliasEventGroups";mmt.qualifiedName="DiagnosticFimAliasEventGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ABSTRACT-ALIAS-EVENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fim::DiagnosticFimAliasEventGroupMapping -->
   <xsd:group name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a DiagnosticFimEventGroup to a DiagnosticFimAliasEventGroup. By this means the "preliminary" modeling by way of a DiagnosticFimAliasEventGroup is further substantiated.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimAliasEventGroupMappings";mmt.qualifiedName="DiagnosticFimAliasEventGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTUAL-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the actual summary event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimAliasEventGroupMapping.actualEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-EVENT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIAS-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the alias summary event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimAliasEventGroupMapping.aliasEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFimAliasEventGroupMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a DiagnosticFimEventGroup to a DiagnosticFimAliasEventGroup. By this means the "preliminary" modeling by way of a DiagnosticFimAliasEventGroup is further substantiated.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimAliasEventGroupMappings";mmt.qualifiedName="DiagnosticFimAliasEventGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticEvent::DiagnosticFimAliasEventMapping -->
   <xsd:group name="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model the mapping of a DiagnosticEvent to a DiagnosticAliasEvent. By this means the "preliminary" modeling by way of a DiagnosticAliasEvent is further substantiated.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimEventMappings";mmt.qualifiedName="DiagnosticFimAliasEventMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTUAL-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the actual diagnostic event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimAliasEventMapping.actualEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIAS-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the alias event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimAliasEventMapping.aliasEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticEvent::DiagnosticFimAliasEventMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model the mapping of a DiagnosticEvent to a DiagnosticAliasEvent. By this means the "preliminary" modeling by way of a DiagnosticAliasEvent is further substantiated.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimEventMappings";mmt.qualifiedName="DiagnosticFimAliasEventMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Fim::DiagnosticFimEventGroup -->
   <xsd:group name="DIAGNOSTIC-FIM-EVENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a Fim event group, also known as a summary event in Fim terminology. This represents a group of single diagnostic events.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimEventGroups";mmt.qualifiedName="DiagnosticFimEventGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-REFS">
            <xsd:annotation>
               <xsd:documentation>This reference represents the way of grouping diagnostic events into a summary event in the context of the Fim.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimEventGroup.event";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EVENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFimEventGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FIM-EVENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a Fim event group, also known as a summary event in Fim terminology. This represents a group of single diagnostic events.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimEventGroups";mmt.qualifiedName="DiagnosticFimEventGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FIM-EVENT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-FIM-EVENT-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-FIM-EVENT-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceMapping::DiagnosticFimFunctionMapping -->
   <xsd:group name="DIAGNOSTIC-FIM-FUNCTION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a mapping between a function identifier (FID) and the corresponding SwcServiceDependency in the application software resp.  basic software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimFunctionMappings";mmt.qualifiedName="DiagnosticFimFunctionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-BSW-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>This is supposed to represent a reference to a BswServiceDependency. the latter is not derived from Referrable and therefore this detour needs to be implemented to still let BswServiceDependency become the target of a reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimFunctionMapping.mappedBswServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-SERVICE-DEPENDENCY-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-FLAT-SWC-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to refer to an AtomicSwComponentType that is available without the definition of how it will be embedded into the component hierarchy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimFunctionMapping.mappedFlatSwcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-FUNCTION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the mapped FID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimFunctionMapping.mappedFunction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FUNCTION-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-SWC-SERVICE-DEPENDENCY-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to point into the component hierarchy (under possible consideration of the rootSoftwareComposition).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFimFunctionMapping.mappedSwcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::DiagnosticFimFunctionMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FIM-FUNCTION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a mapping between a function identifier (FID) and the corresponding SwcServiceDependency in the application software resp.  basic software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFimFunctionMappings";mmt.qualifiedName="DiagnosticFimFunctionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SW-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-FIM-FUNCTION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticFreezeFrame::DiagnosticFreezeFrame -->
   <xsd:group name="DIAGNOSTIC-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This element describes combinations of DIDs for a non OBD relevant freeze frame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFreezeFrames";mmt.qualifiedName="DiagnosticFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECORD-NUMBER" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute defines a record number for a freeze frame record.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrame.recordNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER" type="AR:DIAGNOSTIC-RECORD-TRIGGER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the primary trigger to allocate an event memory entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrame.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPDATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the approach when the freeze frame record is stored/updated.
True: FreezeFrame record is captured every time.
False: FreezeFrame record is only captured for new event memory entries.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrame.update";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticFreezeFrame::DiagnosticFreezeFrame -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This element describes combinations of DIDs for a non OBD relevant freeze frame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFreezeFrames";mmt.qualifiedName="DiagnosticFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FREEZE-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-FREEZE-FRAME--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-FREEZE-FRAME"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticFreezeFrame::DiagnosticFreezeFrameRefConditional -->
   <xsd:group name="DIAGNOSTIC-FREEZE-FRAME-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-FREEZE-FRAME-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FREEZE-FRAME--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrameRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticFreezeFrame::DiagnosticFreezeFrameRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FREEZE-FRAME-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FREEZE-FRAME-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Fim::DiagnosticFunctionIdentifier -->
   <xsd:group name="DIAGNOSTIC-FUNCTION-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a diagnostic function identifier (a.k.a. FID).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFunctionIdentifiers";mmt.qualifiedName="DiagnosticFunctionIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFunctionIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FUNCTION-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a diagnostic function identifier (a.k.a. FID).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFunctionIdentifiers";mmt.qualifiedName="DiagnosticFunctionIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-FUNCTION-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fim::DiagnosticFunctionIdentifierInhibit -->
   <xsd:group name="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the inhibition of a specific function identifier within the Fim configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFunctionIdentifierInhibits";mmt.qualifiedName="DiagnosticFunctionIdentifierInhibit"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding function identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionIdentifierInhibit.functionIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FUNCTION-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INHIBIT-SOURCES">
            <xsd:annotation>
               <xsd:documentation>This represents a collection of DiagnosticFunctionInhibitSource that contribute to the configuration of the enclosing DiagnosticFunctionIdentiferInhibit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionIdentifierInhibit.inhibitSource";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE" type="AR:DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INHIBITION-MASK" type="AR:DIAGNOSTIC-INHIBITION-MASK-ENUM">
            <xsd:annotation>
               <xsd:documentation>This represents the value of the inhibition mask behavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionIdentifierInhibit.inhibitionMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFunctionIdentifierInhibit -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the inhibition of a specific function identifier within the Fim configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticFunctionIdentifierInhibits";mmt.qualifiedName="DiagnosticFunctionIdentifierInhibit"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Fim::DiagnosticFunctionInhibitSource -->
   <xsd:group name="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an inhibition source in the context of the Fim configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionInhibitSource"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the event group applicable for the referencing inhibition source.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionInhibitSource.eventGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the alias event appllicable for the referencing inhibition source.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionInhibitSource.event";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-ALIAS-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticFunctionInhibitSource -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an inhibition source in the context of the Fim configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticFunctionInhibitSource"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class IOControl::DiagnosticIOControl -->
   <xsd:group name="DIAGNOSTIC-IO-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "I/O Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIoControls";mmt.qualifiedName="DiagnosticIOControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding DiagnosticDataIdentifier</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIOControl.dataIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FREEZE-CURRENT-STATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Setting this attribute to true represents the ability of the Dcm to execute a freezeCurrentState.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIOControl.freezeCurrentState";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IO-CONTROL-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticIOControl in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIOControl.ioControlClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-IO-CONTROL-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESET-TO-DEFAULT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Setting this attribute to true represents the ability of the Dcm to execute a resetToDefault.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIOControl.resetToDefault";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-TERM-ADJUSTMENT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Setting this attribute to true represents the ability of the Dcm to execute a shortTermAdjustment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIOControl.shortTermAdjustment";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class IOControl::DiagnosticIOControl -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-IO-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "I/O Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIoControls";mmt.qualifiedName="DiagnosticIOControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-IO-CONTROL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticIndicator::DiagnosticIndicator -->
   <xsd:group name="DIAGNOSTIC-INDICATOR">
      <xsd:annotation>
         <xsd:documentation>Definition of an indicator.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIndicators";mmt.qualifiedName="DiagnosticIndicator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEALING-CYCLE-COUNTER-THRESHOLD" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the number of healing cycles for the WarningIndicatorOffCriteria</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIndicator.healingCycleCounterThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE" type="AR:DIAGNOSTIC-INDICATOR-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the type of the indicator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIndicator.type";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticIndicator::DiagnosticIndicator -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-INDICATOR">
      <xsd:annotation>
         <xsd:documentation>Definition of an indicator.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIndicators";mmt.qualifiedName="DiagnosticIndicator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-INDICATOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-INDICATOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-INDICATOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonDiagnostics::DiagnosticInfoType -->
   <xsd:group name="DIAGNOSTIC-INFO-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an OBD info type.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticInfoTypes";mmt.qualifiedName="DiagnosticInfoType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the data associated with the enclosing DiagnosticInfoType.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataElement";mmt.qualifiedName="DiagnosticInfoType.dataElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the value of InfoType (see SAE J1979-DA).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticInfoType.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticInfoType -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-INFO-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an OBD info type.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticInfoTypes";mmt.qualifiedName="DiagnosticInfoType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-INFO-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-INFO-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-INFO-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fim::DiagnosticInhibitSourceEventMapping -->
   <xsd:group name="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a DiagnosticFunctionInhibitSource directly to alternatively one DiagnosticEvent or one DiagnosticFimSummaryEvent. This model element shall be used if the approach via the alias events is not applicable, i.e. when diagnostic events defined by the Dem are already available at the time the Fim configuration within the diagnostic extract is created.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticInhibitSourceEventMappings";mmt.qualifiedName="DiagnosticInhibitSourceEventMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the diagnostic event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticInhibitSourceEventMapping.diagnosticEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the event group</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticInhibitSourceEventMapping.eventGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FIM-EVENT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INHIBITION-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the inhibition source.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticInhibitSourceEventMapping.inhibitionSource";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fim::DiagnosticInhibitSourceEventMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a DiagnosticFunctionInhibitSource directly to alternatively one DiagnosticEvent or one DiagnosticFimSummaryEvent. This model element shall be used if the approach via the alias events is not applicable, i.e. when diagnostic events defined by the Dem are already available at the time the Fim configuration within the diagnostic extract is created.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticInhibitSourceEventMappings";mmt.qualifiedName="DiagnosticInhibitSourceEventMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class IOControl::DiagnosticIoControlClass -->
   <xsd:group name="DIAGNOSTIC-IO-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "IO Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIoControls";mmt.qualifiedName="DiagnosticIoControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class IOControl::DiagnosticIoControlClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-IO-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "IO Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIoControls";mmt.qualifiedName="DiagnosticIoControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-IO-CONTROL-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-IO-CONTROL-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticIoControlNeeds -->
   <xsd:group name="DIAGNOSTIC-IO-CONTROL-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (DCM) which are not related to a particular item (e.g. a PID). The main use case is the mapping of service ports to the Dcm which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CURRENT-VALUE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the DiagnosticValueNeeds indicating the access to the current value via signalBasedDiagnostics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds.currentValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-VALUE-NEEDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DID-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a Data identifier for the diagnostic value.
This allows to predefine the DID number if the a function developer has received a particular requirement from the OEM or from a standardization body.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds.didNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FREEZE-CURRENT-STATE-SUPPORTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute determines, if the referenced port  supports temporary freezing of  I/O value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds.freezeCurrentStateSupported";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESET-TO-DEFAULT-SUPPORTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This represents a flag for the existence of the ResetToDefault operation in the service interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds.resetToDefaultSupported";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-TERM-ADJUSTMENT-SUPPORTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute determines, if the referenced port  supports temporarily setting  of  I/O value to a specific value provided by the diagnostic tester.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds.shortTermAdjustmentSupported";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticIoControlNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-IO-CONTROL-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (DCM) which are not related to a particular item (e.g. a PID). The main use case is the mapping of service ports to the Dcm which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIoControlNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-IO-CONTROL-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticEvent::DiagnosticIumpr -->
   <xsd:group name="DIAGNOSTIC-IUMPR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents he ability to model the in-us monitor performance ratio. The latter computes to the number of times a fault could have been found divided by the number of times the vehicle conditions have been properly fulfilled.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIumprs";mmt.qualifiedName="DiagnosticIumpr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference represents the DiagnosticEvent that corresoponds to the IUMPR computation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIumpr.event";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticEvent::DiagnosticIumpr -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-IUMPR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents he ability to model the in-us monitor performance ratio. The latter computes to the number of times a fault could have been found divided by the number of times the vehicle conditions have been properly fulfilled.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIumprs";mmt.qualifiedName="DiagnosticIumpr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-IUMPR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-IUMPR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-IUMPR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticEvent::DiagnosticIumprDenominatorGroup -->
   <xsd:group name="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a IUMPR denominator groups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIumprDenominatorGroup";mmt.qualifiedName="DiagnosticIumprDenominatorGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IUMPR-REFS">
            <xsd:annotation>
               <xsd:documentation>This reference collects DiagnosticIumpr to a DiagnosticIumprDenominatorGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIumprDenominatorGroup.iumpr";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IUMPR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-IUMPR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticEvent::DiagnosticIumprDenominatorGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a IUMPR denominator groups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIumprDenominatorGroup";mmt.qualifiedName="DiagnosticIumprDenominatorGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticEvent::DiagnosticIumprGroup -->
   <xsd:group name="DIAGNOSTIC-IUMPR-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a IUMPR groups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIumprGroups";mmt.qualifiedName="DiagnosticIumprGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="GROUP-IDENTIFIER" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute shall be taken to define an identifier for the IUMPR group. 

Please note that the value of this identifier is driven by regulations outside the scope of AUTOSAR and can therefore not be limited to the set of characters suitable for a shortName.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIumprGroup.groupIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IUMPR-REFS">
            <xsd:annotation>
               <xsd:documentation>This reference collects DiagnosticIumpr to a DiagnosticIumprGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIumprGroup.iumpr";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IUMPR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-IUMPR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticEvent::DiagnosticIumprGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-IUMPR-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a IUMPR groups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticIumprGroups";mmt.qualifiedName="DiagnosticIumprGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-IUMPR-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class J1939::DiagnosticJ1939ExpandedFreezeFrame -->
   <xsd:group name="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an expanded J1939 Freeze Frame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939ExpandedFreezeFrames";mmt.qualifiedName="DiagnosticJ1939ExpandedFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the DiagnosticJ1939Node to which the J1939 expanded freeze frame is associated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939ExpandedFreezeFrame.node";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPN-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of SPNs that make the expanded J1939 Freeze Frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939ExpandedFreezeFrame.spn";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SPN-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-SPN--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class J1939::DiagnosticJ1939ExpandedFreezeFrame -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an expanded J1939 Freeze Frame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939ExpandedFreezeFrames";mmt.qualifiedName="DiagnosticJ1939ExpandedFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class J1939::DiagnosticJ1939FreezeFrame -->
   <xsd:group name="DIAGNOSTIC-J-1939-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a J1939 Freeze Frame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939FreezeFrames";mmt.qualifiedName="DiagnosticJ1939FreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the DiagnosticJ1939Node to which the J1939 freeze frame is associated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939FreezeFrame.node";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPN-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of SPNs that make the J1939 Freeze Frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939FreezeFrame.spn";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SPN-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-SPN--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class J1939::DiagnosticJ1939FreezeFrame -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-J-1939-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a J1939 Freeze Frame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939FreezeFrames";mmt.qualifiedName="DiagnosticJ1939FreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-J-1939-FREEZE-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class J1939::DiagnosticJ1939Node -->
   <xsd:group name="DIAGNOSTIC-J-1939-NODE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the diagnostic configuration of a J1939 Nm node, which in turn represents a "virtual Ecu" on the J1939 communication bus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939Nodes";mmt.qualifiedName="DiagnosticJ1939Node"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the "virtual Ecu" to which the enclosing DiagnosticJ1939Node is associated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939Node.nmNode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:J-1939-NM-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class J1939::DiagnosticJ1939Node -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-J-1939-NODE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the diagnostic configuration of a J1939 Nm node, which in turn represents a "virtual Ecu" on the J1939 communication bus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939Nodes";mmt.qualifiedName="DiagnosticJ1939Node"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-J-1939-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-J-1939-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-J-1939-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class J1939::DiagnosticJ1939Spn -->
   <xsd:group name="DIAGNOSTIC-J-1939-SPN">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a J1939 Suspect Parameter Number (SPN).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939Spns";mmt.qualifiedName="DiagnosticJ1939Spn"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPN" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the concrete numerical identification for the enclosing SPN.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939Spn.spn";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class J1939::DiagnosticJ1939Spn -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-J-1939-SPN">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a J1939 Suspect Parameter Number (SPN).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939Spns";mmt.qualifiedName="DiagnosticJ1939Spn"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-J-1939-SPN"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-J-1939-SPN--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class J1939::DiagnosticJ1939SpnMapping -->
   <xsd:group name="DIAGNOSTIC-J-1939-SPN-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a mapping between an SPN and a SystemSignal. The existence of a mapping means that neither the SPN nor the SystemSignal need to be updated if the relation between the two changes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939SpnMappings";mmt.qualifiedName="DiagnosticJ1939SpnMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SENDING-NODE-REFS">
            <xsd:annotation>
               <xsd:documentation>This additional reference has a supporting role in that it identifies all sending nodes of a given SPN. It is positively possible thata given SPN is sent by more than one node. Even tough the reference targets the DiagnosticJ1939Node the semantics of the reference is bound to the J1939NmNode that is in turn referenced by the DiagnosticJ1939Node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939SpnMapping.sendingNode";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SENDING-NODE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPN-REF">
            <xsd:annotation>
               <xsd:documentation>This reference goes to the SPN that shall be associated with a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939SpnMapping.spn";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-SPN--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>This reference goes to the SystemSignal that shall be associated with an SPN.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939SpnMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class J1939::DiagnosticJ1939SpnMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-J-1939-SPN-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a mapping between an SPN and a SystemSignal. The existence of a mapping means that neither the SPN nor the SystemSignal need to be updated if the relation between the two changes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939SpnMappings";mmt.qualifiedName="DiagnosticJ1939SpnMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-J-1939-SPN-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SwMapping::DiagnosticJ1939SwMapping -->
   <xsd:group name="DIAGNOSTIC-J-1939-SW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a piece of application software to a J1939DiagnosticNode. By this means the diagnostic configuration can be associated with the application software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939SwMappings";mmt.qualifiedName="DiagnosticJ1939SwMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the mapped DiagnosticJ1939Node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939SwMapping.node";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-COMPONENT-PROTOTYPE-IREF" type="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the mapped SwComponentPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJ1939SwMapping.swComponentPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwMapping::DiagnosticJ1939SwMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-J-1939-SW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a piece of application software to a J1939DiagnosticNode. By this means the diagnostic configuration can be associated with the application software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticJ1939SwMappings";mmt.qualifiedName="DiagnosticJ1939SwMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-J-1939-SW-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticMapping -->
   <xsd:group name="DIAGNOSTIC-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Abstract element for different kinds of diagnostic mappings.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DiagnosticTestResult::DiagnosticMeasurementIdentifier -->
   <xsd:group name="DIAGNOSTIC-MEASUREMENT-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a measurement identifier.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMeasurementIdentifiers";mmt.qualifiedName="DiagnosticMeasurementIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBD-MID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the numerical measurement Id</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMeasurementIdentifier.obdMid";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTestResult::DiagnosticMeasurementIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-MEASUREMENT-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a measurement identifier.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMeasurementIdentifiers";mmt.qualifiedName="DiagnosticMeasurementIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-MEASUREMENT-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MemoryByAddress::DiagnosticMemoryAddressableRangeAccess -->
   <xsd:group name="DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS">
      <xsd:annotation>
         <xsd:documentation>This abstract base class</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryAddressableRangeAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-RANGE-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the formal description of the memory segment to which the DiagnosticMemoryByAddress applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryAddressableRangeAccess.memoryRange";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEMORY-RANGE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-MEMORY-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class MemoryByAddress::DiagnosticMemoryByAddress -->
   <xsd:group name="DIAGNOSTIC-MEMORY-BY-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This represents an abstract base class for diagnostic services that deal with accessing memory by address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryByAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticMemoryDestination -->
   <xsd:group name="DIAGNOSTIC-MEMORY-DESTINATION">
      <xsd:annotation>
         <xsd:documentation>This abstract meta-class represents a possible memory destination for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryDestination"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-MEMORY-DESTINATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticMemoryDestinationMirror -->
   <xsd:group name="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR">
      <xsd:annotation>
         <xsd:documentation>This represents a mirror memory for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryDestinations";mmt.qualifiedName="DiagnosticMemoryDestinationMirror"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticMemoryDestinationMirror -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR">
      <xsd:annotation>
         <xsd:documentation>This represents a mirror memory for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryDestinations";mmt.qualifiedName="DiagnosticMemoryDestinationMirror"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticMemoryDestinationPrimary -->
   <xsd:group name="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY">
      <xsd:annotation>
         <xsd:documentation>This represents a primary memory for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryDestinations";mmt.qualifiedName="DiagnosticMemoryDestinationPrimary"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticMemoryDestinationPrimary -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY">
      <xsd:annotation>
         <xsd:documentation>This represents a primary memory for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryDestinations";mmt.qualifiedName="DiagnosticMemoryDestinationPrimary"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticMemoryDestinationUserDefined -->
   <xsd:group name="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED">
      <xsd:annotation>
         <xsd:documentation>This represents a user-defined memory for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryDestinations";mmt.qualifiedName="DiagnosticMemoryDestinationUserDefined"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the identifier of the user-defined memory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryDestinationUserDefined.memoryId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticMemoryDestinationUserDefined -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED">
      <xsd:annotation>
         <xsd:documentation>This represents a user-defined memory for a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryDestinations";mmt.qualifiedName="DiagnosticMemoryDestinationUserDefined"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticMemoryIdentifier -->
   <xsd:group name="DIAGNOSTIC-MEMORY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define memory properties from the diagnostics point of view.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticMemoryIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-PERMISSION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents that access permission defined for the specific DiagnosticMemoryIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryIdentifier.accessPermission";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ACCESS-PERMISSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the identification of the memory segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryIdentifier.id";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-HIGH-ADDRESS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the upper bound for addresses of the memory segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryIdentifier.memoryHighAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-HIGH-ADDRESS-LABEL" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents a symbolic label for the upper bound for addresses of the memory segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryIdentifier.memoryHighAddressLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-LOW-ADDRESS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the lower bound for addresses of the memory segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryIdentifier.memoryLowAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-LOW-ADDRESS-LABEL" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents a symbolic label for the lower bound for addresses of the memory segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryIdentifier.memoryLowAddressLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticMemoryIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-MEMORY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define memory properties from the diagnostics point of view.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticMemoryIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-MEMORY-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticOperationCycle::DiagnosticOperationCycle -->
   <xsd:group name="DIAGNOSTIC-OPERATION-CYCLE">
      <xsd:annotation>
         <xsd:documentation>Definition of an operation cycle that is the base of the event qualifying and for Dem scheduling.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticOperationCycles";mmt.qualifiedName="DiagnosticOperationCycle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOMATIC-END" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true the driving cycle shall automatically end at either Dem_Shutdown() or Dem_Init().</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle.automaticEnd";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-AUTOSTART" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute defines if the operation cycles is automatically re-started during Dem_PreInit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle.cycleAutostart";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-STATUS-STORAGE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if the operation cycle state is available over the power cycle (stored non-volatile) or not. 

true: the operation cycle state is stored non-volatile 
false: the operation cycle state is only stored volatile</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle.cycleStatusStorage";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE" type="AR:DIAGNOSTIC-OPERATION-CYCLE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Operation cycles types for the Dem to be supported by cycle-state APIs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle.type";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticOperationCycle::DiagnosticOperationCycle -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-OPERATION-CYCLE">
      <xsd:annotation>
         <xsd:documentation>Definition of an operation cycle that is the base of the event qualifying and for Dem scheduling.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticOperationCycles";mmt.qualifiedName="DiagnosticOperationCycle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-OPERATION-CYCLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-OPERATION-CYCLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticOperationCycleNeeds -->
   <xsd:group name="DIAGNOSTIC-OPERATION-CYCLE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to provide information regarding the operation cycle management to the Dem module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-CYCLE" type="AR:OPERATION-CYCLE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Operation cycles types for the Dem to be supported by cycle-state APIs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleNeeds.operationCycle";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-CYCLE-AUTOMATIC-END" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the Dem shall automatically end the driving cycle at either Dem_Shutdown() or Dem_Init().</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleNeeds.operationCycleAutomaticEnd";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-CYCLE-AUTOSTART" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the operation cycles is automatically (re-)started during Dem_PreInit().</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleNeeds.operationCycleAutostart";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticOperationCycleNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-OPERATION-CYCLE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to provide information regarding the operation cycle management to the Dem module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticOperationCyclePortMapping -->
   <xsd:group name="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticOperationCycleNeeds the DiagnosticOperationCycle is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticOperationCyclePortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-CYCLE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the DiagnosticOperationCycle that is assigned to SWC service ports with DiagnosticOperationCycleNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCyclePortMapping.operationCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-OPERATION-CYCLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-FLAT-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a SwcServiceDependencyType that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCyclePortMapping.swcFlatServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IN-SYSTEM-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCyclePortMapping.swcServiceDependencyInSystem";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticOperationCyclePortMapping.swcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticOperationCyclePortMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticOperationCycleNeeds the DiagnosticOperationCycle is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticOperationCyclePortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SW-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticOperationCycle::DiagnosticOperationCycleRefConditional -->
   <xsd:group name="DIAGNOSTIC-OPERATION-CYCLE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-OPERATION-CYCLE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-OPERATION-CYCLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticOperationCycle::DiagnosticOperationCycleRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-OPERATION-CYCLE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-OPERATION-CYCLE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticParameter -->
   <xsd:group name="DIAGNOSTIC-PARAMETER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe information relevant for the execution of a specific diagnostic service, i.e. it can be taken to parameterize the service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BIT-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the bitOffset of the DiagnosticParameter</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameter.bitOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the related dataElement of the DiagnosticParameter
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticParameter.dataElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-DATA-ELEMENT" type="AR:DIAGNOSTIC-DATA-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORT-INFO" type="AR:DIAGNOSTIC-PARAMETER-SUPPORT-INFO">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameter.supportInfo";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameter.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticParameter -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-PARAMETER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe information relevant for the execution of a specific diagnostic service, i.e. it can be taken to parameterize the service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-PARAMETER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticParameterIdentifier -->
   <xsd:group name="DIAGNOSTIC-PARAMETER-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a diagnostic parameter identifier (PID) for the purpose of executing on-board diagnostics (OBD).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticParameterIdentifiers";mmt.qualifiedName="DiagnosticParameterIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the data carried by the DiagnosticParameterIdentifier.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataElement, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticParameterIdentifier.dataElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This is the numerical identifier used to identify the DiagnosticParameterIdentifier in the scope of diagnostic workflow (see SAE J1979-DA).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameterIdentifier.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PID-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size of the entire PID can be greater than the sum of the data elements because padding might be applied. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameterIdentifier.pidSize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORT-INFO-BYTE" type="AR:DIAGNOSTIC-SUPPORT-INFO-BYTE">
            <xsd:annotation>
               <xsd:documentation>This represents the supported information associated with the DiagnosticParameterIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameterIdentifier.supportInfoByte";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticParameterIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-PARAMETER-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model a diagnostic parameter identifier (PID) for the purpose of executing on-board diagnostics (OBD).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticParameterIdentifiers";mmt.qualifiedName="DiagnosticParameterIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-PARAMETER-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonDiagnostics::DiagnosticParameterSupportInfo -->
   <xsd:group name="DIAGNOSTIC-PARAMETER-SUPPORT-INFO">
      <xsd:annotation>
         <xsd:documentation>This represents a way to define which bit of the supportInfo is representing this part of the PID</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameterSupportInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORT-INFO-BIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>defines the bit in the SupportInfo byte, which represents the PID DataElement
pidSize / position / size. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameterSupportInfo.supportInfoBit";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticParameterSupportInfo -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-PARAMETER-SUPPORT-INFO">
      <xsd:annotation>
         <xsd:documentation>This represents a way to define which bit of the supportInfo is representing this part of the PID</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticParameterSupportInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-PARAMETER-SUPPORT-INFO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ReadDataByPeriodicID::DiagnosticPeriodicRate -->
   <xsd:group name="DIAGNOSTIC-PERIODIC-RATE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a periodic rate for the specification of the "read data by periodic ID" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticPeriodicRate"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the period of the DiagnosticPeriodicRate in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticPeriodicRate.period";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIODIC-RATE-CATEGORY" type="AR:DIAGNOSTIC-PERIODIC-RATE-CATEGORY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the category of the periodic rate.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticPeriodicRate.periodicRateCategory";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ReadDataByPeriodicID::DiagnosticPeriodicRate -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-PERIODIC-RATE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a periodic rate for the specification of the "read data by periodic ID" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticPeriodicRate"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-PERIODIC-RATE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x02_RequestPowertrainFreezeFrameData::DiagnosticPowertrainFreezeFrame -->
   <xsd:group name="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a powertrain-related freeze-frame. In theory, this meta-class would need an additional id attribute. However, legal regulations requires only a single value for this attribute anyway.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticPowertrainFreezeFrames";mmt.qualifiedName="DiagnosticPowertrainFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PID-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the PID associated with this instance of the OBD mode 0x02 service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticPowertrainFreezeFrame.pid";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PID-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-PARAMETER-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x02_RequestPowertrainFreezeFrameData::DiagnosticPowertrainFreezeFrame -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a powertrain-related freeze-frame. In theory, this meta-class would need an additional id attribute. However, legal regulations requires only a single value for this attribute anyway.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticPowertrainFreezeFrames";mmt.qualifiedName="DiagnosticPowertrainFreezeFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticContribution::DiagnosticProtocol -->
   <xsd:group name="DIAGNOSTIC-PROTOCOL">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic protocol.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticProtocols";mmt.qualifiedName="DiagnosticProtocol"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of applicable DiagnosticConnections for this DiagnosticProtocol.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="diagnosticConnection, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticProtocol.diagnosticConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-CONNECTION-REF-CONDITIONAL" type="AR:DIAGNOSTIC-CONNECTION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the priority of the diagnostic protocol in comparison to other diagnostic protocols.

Lower numeric values represent higher protocol priority:
- 0 - Highest protocol priority
- 255 - Lowest protocol priority</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticProtocol.priority";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-KIND" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This identifies the applicable protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticProtocol.protocolKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-TABLES">
            <xsd:annotation>
               <xsd:documentation>This represents the service table applicable for the given diagnostic protocol.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="serviceTable, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticProtocol.serviceTable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL" type="AR:DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticContribution::DiagnosticProtocol -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-PROTOCOL">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic protocol.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticProtocols";mmt.qualifiedName="DiagnosticProtocol"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-PROTOCOL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ReadDTCInformation::DiagnosticReadDTCInformation -->
   <xsd:group name="DIAGNOSTIC-READ-DTC-INFORMATION">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read DTC Information" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDtcInformations";mmt.qualifiedName="DiagnosticReadDTCInformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="READ-DTC-INFORMATION-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticReadDTCInformation in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDTCInformation.readDTCInformationClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-READ-DTC-INFORMATION-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ReadDTCInformation::DiagnosticReadDTCInformation -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-DTC-INFORMATION">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read DTC Information" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDtcInformations";mmt.qualifiedName="DiagnosticReadDTCInformation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-DTC-INFORMATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ReadDTCInformation::DiagnosticReadDTCInformationClass -->
   <xsd:group name="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "ReadDTCInformation" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDtcInformations";mmt.qualifiedName="DiagnosticReadDTCInformationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ReadDTCInformation::DiagnosticReadDTCInformationClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "ReadDTCInformation" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDtcInformations";mmt.qualifiedName="DiagnosticReadDTCInformationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataByIdentifier::DiagnosticReadDataByIdentifier -->
   <xsd:group name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticReadDataByIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="READ-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby,  the reference represents the ability to access shared attributes among all DiagnosticReadDataByIdentifier in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByIdentifier.readClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataByIdentifier::DiagnosticReadDataByIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticReadDataByIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataByIdentifier::DiagnosticReadDataByIdentifierClass -->
   <xsd:group name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Read Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticReadDataByIdentifierClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DID-TO-READ" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the maximum number of allowed DIDs in a single instance of DiagnosticReadDataByIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByIdentifierClass.maxDidToRead";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataByIdentifier::DiagnosticReadDataByIdentifierClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Read Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticReadDataByIdentifierClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ReadDataByPeriodicID::DiagnosticReadDataByPeriodicID -->
   <xsd:group name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read Data by periodic Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDataByPeriodicIds";mmt.qualifiedName="DiagnosticReadDataByPeriodicID"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the corresponding DiagnosticDataIdentifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByPeriodicID.dataIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="READ-DATA-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the the reference represents the ability to access shared attributes among all DiagnosticReadDataByPeriodicID in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByPeriodicID.readDataClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ReadDataByPeriodicID::DiagnosticReadDataByPeriodicID -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read Data by periodic Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDataByPeriodicIds";mmt.qualifiedName="DiagnosticReadDataByPeriodicID"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ReadDataByPeriodicID::DiagnosticReadDataByPeriodicIDClass -->
   <xsd:group name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Read Data by periodic Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDataByPeriodicIds";mmt.qualifiedName="DiagnosticReadDataByPeriodicIDClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-PERIODIC-DID-TO-READ" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the maximum number of data identifiers that can be included in one request.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByPeriodicIDClass.maxPeriodicDidToRead";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIODIC-RATES">
            <xsd:annotation>
               <xsd:documentation>This represents the description of a collection of periodic rates in which the service can be executed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByPeriodicIDClass.periodicRate";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PERIODIC-RATE" type="AR:DIAGNOSTIC-PERIODIC-RATE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCHEDULER-MAX-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the maximum number of periodic data identifiers that can be scheduled in parallel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadDataByPeriodicIDClass.schedulerMaxNumber";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ReadDataByPeriodicID::DiagnosticReadDataByPeriodicIDClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Read Data by periodic Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticReadDataByPeriodicIds";mmt.qualifiedName="DiagnosticReadDataByPeriodicIDClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MemoryByAddress::DiagnosticReadMemoryByAddress -->
   <xsd:group name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticReadMemoryByAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="READ-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticReadMemoryByAddresst in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticReadMemoryByAddress.readClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticReadMemoryByAddress -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Read Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticReadMemoryByAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticReadMemoryByAddressClass -->
   <xsd:group name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Read Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticReadMemoryByAddressClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticReadMemoryByAddressClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Read Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticReadMemoryByAddressClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x08_RequestControlOfOnBoardDevice::DiagnosticRequestControlOfOnBoardDevice -->
   <xsd:group name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x08 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestControlOfOnBoardDevices";mmt.qualifiedName="DiagnosticRequestControlOfOnBoardDevice"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestControlOfOnBoardDevice in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestControlOfOnBoardDevice.requestControlOfOnBoardDeviceClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-ID-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the test Id for the mode 0x08.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestControlOfOnBoardDevice.testId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x08_RequestControlOfOnBoardDevice::DiagnosticRequestControlOfOnBoardDevice -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x08 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestControlOfOnBoardDevices";mmt.qualifiedName="DiagnosticRequestControlOfOnBoardDevice"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x08_RequestControlOfOnBoardDevice::DiagnosticRequestControlOfOnBoardDeviceClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Control Of On-Board Device" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestControlOfOnBoardDevices";mmt.qualifiedName="DiagnosticRequestControlOfOnBoardDeviceClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x08_RequestControlOfOnBoardDevice::DiagnosticRequestControlOfOnBoardDeviceClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Control Of On-Board Device" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestControlOfOnBoardDevices";mmt.qualifiedName="DiagnosticRequestControlOfOnBoardDeviceClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x01_RequestCurrentPowertrainDiagnosticData::DiagnosticRequestCurrentPowertrainData -->
   <xsd:group name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x01 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestCurrentPowertrainDatas";mmt.qualifiedName="DiagnosticRequestCurrentPowertrainData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PID-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the PID associated with this instance of the OBD mode 0x01 service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestCurrentPowertrainData.pid";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-PARAMETER-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-CURRENT-POWERTRAIN-DIAGNOSTIC-DATA-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestCurrentPowertrainData in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestCurrentPowertrainData.requestCurrentPowertrainDiagnosticDataClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x01_RequestCurrentPowertrainDiagnosticData::DiagnosticRequestCurrentPowertrainData -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x01 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestCurrentPowertrainDatas";mmt.qualifiedName="DiagnosticRequestCurrentPowertrainData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x01_RequestCurrentPowertrainDiagnosticData::DiagnosticRequestCurrentPowertrainDataClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request current Powertrain Data" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestCurrentPowertrainDatas";mmt.qualifiedName="DiagnosticRequestCurrentPowertrainDataClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x01_RequestCurrentPowertrainDiagnosticData::DiagnosticRequestCurrentPowertrainDataClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request current Powertrain Data" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestCurrentPowertrainDatas";mmt.qualifiedName="DiagnosticRequestCurrentPowertrainDataClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MemoryByAddress::DiagnosticRequestDownload -->
   <xsd:group name="DIAGNOSTIC-REQUEST-DOWNLOAD">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Request Download" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestDownload"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-DOWNLOAD-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestDownload in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestDownload.requestDownloadClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticRequestDownload -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-DOWNLOAD">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Request Download" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestDownload"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-DOWNLOAD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticRequestDownloadClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Request Download" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestDownloadClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticRequestDownloadClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Request Download" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestDownloadClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x03_0x07_RequestEmissionRelatedDTC::DiagnosticRequestEmissionRelatedDTC -->
   <xsd:group name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x03/0x07 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCs";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTC"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-EMISSION-RELATED-DTC-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestEmissionRelatedDTC in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTC.requestEmissionRelatedDtcClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x03_0x07_RequestEmissionRelatedDTC::DiagnosticRequestEmissionRelatedDTC -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x03/0x07 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCs";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTC"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x03_0x07_RequestEmissionRelatedDTC::DiagnosticRequestEmissionRelatedDTCClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Emission Related DTC" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCs";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x03_0x07_RequestEmissionRelatedDTC::DiagnosticRequestEmissionRelatedDTCClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Emission Related DTC" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCs";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x0A_RequestEmissionRelatedDTCPermanentStatus::DiagnosticRequestEmissionRelatedDTCPermanentStatus -->
   <xsd:group name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x0A service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCPermanentStatuss";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCPermanentStatus"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-EMISSION-RELATED-DTC-CLASS-PERMANENT-STATUS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestEmissionRelatedDTCPermanentStatus in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCPermanentStatus.requestEmissionRelatedDtcClassPermanentStatus";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x0A_RequestEmissionRelatedDTCPermanentStatus::DiagnosticRequestEmissionRelatedDTCPermanentStatus -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x0A service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCPermanentStatuss";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCPermanentStatus"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x0A_RequestEmissionRelatedDTCPermanentStatus::DiagnosticRequestEmissionRelatedDTCPermanentStatusClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Emission Related DTC Permanent Status" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCPermanentStatuss";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCPermanentStatusClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x0A_RequestEmissionRelatedDTCPermanentStatus::DiagnosticRequestEmissionRelatedDTCPermanentStatusClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Emission Related DTC Permanent Status" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestEmissionRelatedDTCPermanentStatuss";mmt.qualifiedName="DiagnosticRequestEmissionRelatedDTCPermanentStatusClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RequestFileTransfer::DiagnosticRequestFileTransfer -->
   <xsd:group name="DIAGNOSTIC-REQUEST-FILE-TRANSFER">
      <xsd:annotation>
         <xsd:documentation>This diagnostic service instance implements the UDS service 0x38.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestFileTransfers";mmt.qualifiedName="DiagnosticRequestFileTransfer"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-FILE-TRANSFER-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestFileTransfer in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestFileTransfer.requestFileTransferClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RequestFileTransfer::DiagnosticRequestFileTransfer -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-FILE-TRANSFER">
      <xsd:annotation>
         <xsd:documentation>This diagnostic service instance implements the UDS service 0x38.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestFileTransfers";mmt.qualifiedName="DiagnosticRequestFileTransfer"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RequestFileTransfer::DiagnosticRequestFileTransferClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Request File transfer" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestFileTransfers";mmt.qualifiedName="DiagnosticRequestFileTransferClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RequestFileTransfer::DiagnosticRequestFileTransferClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Request File transfer" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestFileTransfers";mmt.qualifiedName="DiagnosticRequestFileTransferClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x06_RequestOnBoardMonitoringTestResults::DiagnosticRequestOnBoardMonitoringTestResults -->
   <xsd:group name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x06 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestOnBoardMonitoringTestResultss";mmt.qualifiedName="DiagnosticRequestOnBoardMonitoringTestResults"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestOnBoardMonitoringTestResults in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestOnBoardMonitoringTestResults.requestOnBoardMonitoringTestResultsClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-RESULT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference identifies the applicable test identifier for setting up a request message for mode 0x06.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestOnBoardMonitoringTestResults.testResult";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TEST-RESULT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x06_RequestOnBoardMonitoringTestResults::DiagnosticRequestOnBoardMonitoringTestResults -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x06 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestOnBoardMonitoringTestResultss";mmt.qualifiedName="DiagnosticRequestOnBoardMonitoringTestResults"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x06_RequestOnBoardMonitoringTestResults::DiagnosticRequestOnBoardMonitoringTestResultsClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request On-Board Monitoring Test Results" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestOnBoardMonitoringTestResultss";mmt.qualifiedName="DiagnosticRequestOnBoardMonitoringTestResultsClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x06_RequestOnBoardMonitoringTestResults::DiagnosticRequestOnBoardMonitoringTestResultsClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request On-Board Monitoring Test Results" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestOnBoardMonitoringTestResultss";mmt.qualifiedName="DiagnosticRequestOnBoardMonitoringTestResultsClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x02_RequestPowertrainFreezeFrameData::DiagnosticRequestPowertrainFreezeFrameData -->
   <xsd:group name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x02 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticPowertrainFreezeFrames";mmt.qualifiedName="DiagnosticRequestPowertrainFreezeFrameData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FREEZE-FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the associated freeze-frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestPowertrainFreezeFrameData.freezeFrame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestPowertrainFreezeFrameData in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestPowertrainFreezeFrameData.requestPowertrainFreezeFrameData";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x02_RequestPowertrainFreezeFrameData::DiagnosticRequestPowertrainFreezeFrameData -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x02 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticPowertrainFreezeFrames";mmt.qualifiedName="DiagnosticRequestPowertrainFreezeFrameData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x02_RequestPowertrainFreezeFrameData::DiagnosticRequestPowertrainFreezeFrameDataClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Powertrain Freeze Frame Data" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticPowertrainFreezeFrames";mmt.qualifiedName="DiagnosticRequestPowertrainFreezeFrameDataClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x02_RequestPowertrainFreezeFrameData::DiagnosticRequestPowertrainFreezeFrameDataClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Powertrain Freeze Frame Data" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticPowertrainFreezeFrames";mmt.qualifiedName="DiagnosticRequestPowertrainFreezeFrameDataClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonDiagnostics::DiagnosticRequestRoutineResults -->
   <xsd:group name="DIAGNOSTIC-REQUEST-ROUTINE-RESULTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the result of a diagnostic routine execution.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestRoutineResults"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSES">
            <xsd:annotation>
               <xsd:documentation>This represents the response parameters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestRoutineResults.response";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticRequestRoutineResults -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-ROUTINE-RESULTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the result of a diagnostic routine execution.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestRoutineResults"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-ROUTINE-RESULTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticRequestUpload -->
   <xsd:group name="DIAGNOSTIC-REQUEST-UPLOAD">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Request Upload" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestUpload"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-UPLOAD-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequestUpload in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestUpload.requestUploadClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-UPLOAD-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticRequestUpload -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-UPLOAD">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Request Upload" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestUpload"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-UPLOAD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticRequestUploadClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-UPLOAD-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Request Upload" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestUploadClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticRequestUploadClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-UPLOAD-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Request Upload" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticRequestUploadClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-UPLOAD-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x09_RequestVehicleInformation::DiagnosticRequestVehicleInfo -->
   <xsd:group name="DIAGNOSTIC-REQUEST-VEHICLE-INFO">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x09 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestVehicleInfos";mmt.qualifiedName="DiagnosticRequestVehicleInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INFO-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the info type associated with the mode 0x09 service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestVehicleInfo.infoType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-INFO-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-VEHICLE-INFORMATION-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class.

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRequesVehicleInfo in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRequestVehicleInfo.requestVehicleInformationClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x09_RequestVehicleInformation::DiagnosticRequestVehicleInfo -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-VEHICLE-INFO">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model an instance of the OBD mode 0x09 service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestVehicleInfos";mmt.qualifiedName="DiagnosticRequestVehicleInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Mode_0x09_RequestVehicleInformation::DiagnosticRequestVehicleInfoClass -->
   <xsd:group name="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Vehicle Info" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestVehicleInfos";mmt.qualifiedName="DiagnosticRequestVehicleInfoClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Mode_0x09_RequestVehicleInformation::DiagnosticRequestVehicleInfoClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define common properties for all instances of the "Request Vehicle Info" OBD diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRequestVehicleInfos";mmt.qualifiedName="DiagnosticRequestVehicleInfoClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ResponseOnEvent::DiagnosticResponseOnEvent -->
   <xsd:group name="DIAGNOSTIC-RESPONSE-ON-EVENT">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Response on Event" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticResponseOnEvents";mmt.qualifiedName="DiagnosticResponseOnEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of DiagnosticResponseOnEventTriggers defined in the context of the enclosing DiagnosticResponseOnEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEvent.event";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-DATA-CHANGE-TRIGGER" type="AR:DIAGNOSTIC-DATA-CHANGE-TRIGGER"/>
                  <xsd:element name="DIAGNOSTIC-DTC-CHANGE-TRIGGER" type="AR:DIAGNOSTIC-DTC-CHANGE-TRIGGER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-WINDOWS">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable DiagnosticEventWindows</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEvent.eventWindow";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-EVENT-WINDOW" type="AR:DIAGNOSTIC-EVENT-WINDOW"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-ON-EVENT-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby,  the reference represents the ability to access shared attributes among all DiagnosticResponseOnEvent in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEvent.responseOnEventClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResponseOnEvent::DiagnosticResponseOnEvent -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-RESPONSE-ON-EVENT">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Response on Event" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticResponseOnEvents";mmt.qualifiedName="DiagnosticResponseOnEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-RESPONSE-ON-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ResponseOnEvent::DiagnosticResponseOnEventClass -->
   <xsd:group name="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define common properties for alle instances of the "Response on Event" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticResponseOnEvents";mmt.qualifiedName="DiagnosticResponseOnEventClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTER-MESSAGE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Provide the minimum time in seconds between two consecutive  transmissions of an ROE event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEventClass.interMessageTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResponseOnEvent::DiagnosticResponseOnEventClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define common properties for alle instances of the "Response on Event" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticResponseOnEvents";mmt.qualifiedName="DiagnosticResponseOnEventClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticResponseOnEventNeeds -->
   <xsd:group name="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class indicates a service use-case for the diagnostic service ResponseOnEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEventNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticResponseOnEventNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class indicates a service use-case for the diagnostic service ResponseOnEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEventNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ResponseOnEvent::DiagnosticResponseOnEventTrigger -->
   <xsd:group name="DIAGNOSTIC-RESPONSE-ON-EVENT-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to further specify the events that are associated with the execution of the diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEventTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-EVENT-STATUS" type="AR:DIAGNOSTIC-INITIAL-EVENT-STATUS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This represents the initial status of the enclosing DiagnosticResponseOnEventTrigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseOnEventTrigger.initialEventStatus";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CommonDiagnostics::DiagnosticRoutine -->
   <xsd:group name="DIAGNOSTIC-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic routine.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRoutines";mmt.qualifiedName="DiagnosticRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This is the numerical identifier used to identify the DiagnosticRoutine in the scope of diagnostic workflow</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutine.id";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-RESULT" type="AR:DIAGNOSTIC-REQUEST-ROUTINE-RESULTS">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to request the result of a running routine.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutine.requestResult";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTINE-INFO" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the routine info byte. The info byte contains a manufacturer-specific value (for the identification of record identifiers) that is reported to the tester. 

Other use cases for this attribute are mentioned in ISO 27145 and ISO 26021.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutine.routineInfo";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="START" type="AR:DIAGNOSTIC-START-ROUTINE">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to start a routine</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutine.start";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STOP" type="AR:DIAGNOSTIC-STOP-ROUTINE">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to stop a running routine.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutine.stop";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticRoutine -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic routine.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRoutines";mmt.qualifiedName="DiagnosticRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ROUTINE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ROUTINE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RoutineControl::DiagnosticRoutineControl -->
   <xsd:group name="DIAGNOSTIC-ROUTINE-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Routine Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRoutineControls";mmt.qualifiedName="DiagnosticRoutineControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTINE-CONTROL-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticRoutineControl in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineControl.routineControlClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ROUTINE-CONTROL-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTINE-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to the applicable DiagnosticRoutine.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineControl.routine";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ROUTINE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RoutineControl::DiagnosticRoutineControl -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ROUTINE-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Routine Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRoutineControls";mmt.qualifiedName="DiagnosticRoutineControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-ROUTINE-CONTROL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RoutineControl::DiagnosticRoutineControlClass -->
   <xsd:group name="DIAGNOSTIC-ROUTINE-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Routine Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRoutineControls";mmt.qualifiedName="DiagnosticRoutineControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RoutineControl::DiagnosticRoutineControlClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ROUTINE-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Routine Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticRoutineControls";mmt.qualifiedName="DiagnosticRoutineControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ROUTINE-CONTROL-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticRoutineNeeds -->
   <xsd:group name="DIAGNOSTIC-ROUTINE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (Dcm) which are not related to a particular item (e.g. a PID). The main use case is the mapping of service ports to the Dcm which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAG-ROUTINE-TYPE" type="AR:DIAGNOSTIC-ROUTINE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This denotes the type of diagnostic routine which is implemented by the referenced server port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineNeeds.diagRoutineType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RID-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a routine identifier for the diagnostic routine.
This allows to predefine the RID number if the a function developer has received a particular requirement from the OEM or from a standardization body.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineNeeds.ridNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticRoutineNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-ROUTINE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (Dcm) which are not related to a particular item (e.g. a PID). The main use case is the mapping of service ports to the Dcm which are not related to a particular item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-ROUTINE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SecurityAccess::DiagnosticSecurityAccess -->
   <xsd:group name="DIAGNOSTIC-SECURITY-ACCESS">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Security Access" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSecurityAccesss";mmt.qualifiedName="DiagnosticSecurityAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-SEED-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This would be 0x01, 0x03, 0x05, ...

The sendKey id can be computed by adding 1 to the requestSeedId</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityAccess.requestSeedId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURITY-ACCESS-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticSecurityAccess in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityAccess.securityAccessClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SECURITY-ACCESS-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURITY-LEVEL-REF">
            <xsd:annotation>
               <xsd:documentation>This reference identifies the applicable security level for the security access.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="securityLevel";mmt.qualifiedName="DiagnosticSecurityAccess.securityLevel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SECURITY-LEVEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SecurityAccess::DiagnosticSecurityAccess -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SECURITY-ACCESS">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Security Access" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSecurityAccesss";mmt.qualifiedName="DiagnosticSecurityAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-SECURITY-ACCESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SecurityAccess::DiagnosticSecurityAccessClass -->
   <xsd:group name="DIAGNOSTIC-SECURITY-ACCESS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Security Access" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSecurityAccesss";mmt.qualifiedName="DiagnosticSecurityAccessClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SecurityAccess::DiagnosticSecurityAccessClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SECURITY-ACCESS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Security Access" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSecurityAccesss";mmt.qualifiedName="DiagnosticSecurityAccessClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SECURITY-ACCESS-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Dcm::DiagnosticSecurityLevel -->
   <xsd:group name="DIAGNOSTIC-SECURITY-LEVEL">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a security level considered for diagnostic purposes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSecurityLevels";mmt.qualifiedName="DiagnosticSecurityLevel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-DATA-RECORD-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the size of the AccessDataRecord used in GetSeed. Unit:byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityLevel.accessDataRecordSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the size of the security key. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityLevel.keySize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUM-FAILED-SECURITY-ACCESS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the number of failed security accesses after which the delay time is activated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityLevel.numFailedSecurityAccess";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURITY-DELAY-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the delay time after a failed security access. Unit: second.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityLevel.securityDelayTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEED-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the size of the security seed. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSecurityLevel.seedSize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Dcm::DiagnosticSecurityLevel -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SECURITY-LEVEL">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a security level considered for diagnostic purposes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSecurityLevels";mmt.qualifiedName="DiagnosticSecurityLevel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SECURITY-LEVEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SECURITY-LEVEL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-LEVEL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonService::DiagnosticServiceClass -->
   <xsd:group name="DIAGNOSTIC-SERVICE-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides the ability to define common properties that are shared among all instances of sub-classes of DiagnosticServiceInstance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-PERMISSION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of DiagnosticAccessPermissions that allow for the execution of the referencing DiagnosticServiceClass.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceClass.accessPermission";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ACCESS-PERMISSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-PERMISSION-VALIDITY" type="AR:DIAGNOSTIC-ACCESS-PERMISSION-VALIDITY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is responsible for clarifying the validity of the accessPermission reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceClass.accessPermissionValidity";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-SERVICE-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceMapping::DiagnosticServiceDataMapping -->
   <xsd:group name="DIAGNOSTIC-SERVICE-DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a mapping of a diagnostic service to a software-component. This kind of service mapping is applicable for the usage of SenderReceiverInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceMappings";mmt.qualifiedName="DiagnosticServiceDataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable payload that corresponds to the referenced DataPrototype in the role mappedDataElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceDataMapping.diagnosticDataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-DATA-ELEMENT-IREF" type="AR:DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the dataElement in the application software that is accessed for diagnostic purpose.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceDataMapping.mappedDataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::DiagnosticServiceDataMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SERVICE-DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a mapping of a diagnostic service to a software-component. This kind of service mapping is applicable for the usage of SenderReceiverInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceMappings";mmt.qualifiedName="DiagnosticServiceDataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-DATA-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CommonService::DiagnosticServiceInstance -->
   <xsd:group name="DIAGNOSTIC-SERVICE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This represents a concrete instance of a diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-PERMISSION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of DiagnosticAccessPermissions that allow for the execution of the referencing DiagnosticServiceInstance..</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceInstance.accessPermission";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-ACCESS-PERMISSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <!-- Association <<atpDerived>>serviceClass skipped -->
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-SERVICE-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceMapping::DiagnosticServiceSwMapping -->
   <xsd:group name="DIAGNOSTIC-SERVICE-SW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a mapping of a diagnostic service to a software-component or a basic-software module. If the former is used then this kind of service mapping is applicable for the usage of ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceMappings";mmt.qualifiedName="DiagnosticServiceSwMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents a DiagnosticDataElement required to execute the respective diagnostic service in the context of the diagnostic service mapping,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceSwMapping.diagnosticDataElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-BSW-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>This is supposed to represent a reference to a BswServiceDependency. the latter is not derived from Referrable and therefore this detour needs to be implemented to still let BswServiceDependency become the target of a reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceSwMapping.mappedBswServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-SERVICE-DEPENDENCY-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-FLAT-SWC-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to refer to an AtomicSwComponentType that is available without the definition of how it will be emebdded into the component hiearchy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceSwMapping.mappedFlatSwcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-SWC-SERVICE-DEPENDENCY-IN-SYSTEM-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to point into the component hiearchy (under possible consideration of the rootSoftwareComposition)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceSwMapping.mappedSwcServiceDependencyInSystem";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPED-SWC-SERVICE-DEPENDENCY-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to point into the component hiearchy (under possible consideration of the rootSoftwareComposition)</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticServiceSwMapping.mappedSwcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the service instance that needs to be considered in this diagnostics service mapping,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceSwMapping.serviceInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SERVICE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::DiagnosticServiceSwMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SERVICE-SW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a mapping of a diagnostic service to a software-component or a basic-software module. If the former is used then this kind of service mapping is applicable for the usage of ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceMappings";mmt.qualifiedName="DiagnosticServiceSwMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SW-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-SW-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticContribution::DiagnosticServiceTable -->
   <xsd:group name="DIAGNOSTIC-SERVICE-TABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a model of a diagnostic service table, i.e. the UDS services applicable for a given ECU.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceTables";mmt.qualifiedName="DiagnosticServiceTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents the DiagnosticConnection that is taken for handling the data transmission for the enclosing DiagnosticServiceTable.

It is possible to refer to more than one diagnosticConnections in order to support more than one diagnostic tester.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="diagnosticConnection, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticServiceTable.diagnosticConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-CONNECTION-REF-CONDITIONAL" type="AR:DIAGNOSTIC-CONNECTION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable EcuInstance for this DiagnosticServiceTable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTable.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-KIND" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This identifies the applicable protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTable.protocolKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of DiagnosticServiceInstances to be considered in the scope of this DiagnosticServiceTable,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTable.serviceInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SERVICE-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SERVICE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticContribution::DiagnosticServiceTable -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SERVICE-TABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a model of a diagnostic service table, i.e. the UDS services applicable for a given ECU.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticServiceTables";mmt.qualifiedName="DiagnosticServiceTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-TABLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SERVICE-TABLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-TABLE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticContribution::DiagnosticServiceTableRefConditional -->
   <xsd:group name="DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-SERVICE-TABLE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SERVICE-TABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTableRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticContribution::DiagnosticServiceTableRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-TABLE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Dcm::DiagnosticSession -->
   <xsd:group name="DIAGNOSTIC-SESSION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic session.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSessions";mmt.qualifiedName="DiagnosticSession"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This is the numerical identifier used to identify the DiagnosticSession in the scope of diagnostic workflow</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSession.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="JUMP-TO-BOOT-LOADER" type="AR:DIAGNOSTIC-JUMP-TO-BOOT-LOADER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the ability to define whether this diagnostic session allows to jump to Bootloader (OEM Bootloader or System Supplier Bootloader). 

If this diagnostic session doesn't allow to jump to Bootloader the value JumpToBootLoaderEnum.noBoot shall be chosen.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSession.jumpToBootLoader";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="P-2-SERVER-MAX" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This is the session value for P2ServerMax in seconds (per Session Control).

The AUTOSAR configuration standard is to use SI units, so this parameter is defined as a float value in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSession.p2ServerMax";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="P-2-STAR-SERVER-MAX" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This is the session value for P2*ServerMax in seconds (per Session Control).

The AUTOSAR configuration standard is to use SI units, so this parameter is defined as a float value in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSession.p2StarServerMax";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Dcm::DiagnosticSession -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SESSION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a diagnostic session.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSessions";mmt.qualifiedName="DiagnosticSession"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SESSION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SESSION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-SESSION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SessionControl::DiagnosticSessionControl -->
   <xsd:group name="DIAGNOSTIC-SESSION-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Session Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSessionControls";mmt.qualifiedName="DiagnosticSessionControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-SESSION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable DiagnosticSessions</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSessionControl.diagnosticSession";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SESSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SESSION-CONTROL-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticSessionControl in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSessionControl.sessionControlClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-SESSION-CONTROL-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SessionControl::DiagnosticSessionControl -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SESSION-CONTROL">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Session Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSessionControls";mmt.qualifiedName="DiagnosticSessionControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-SESSION-CONTROL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SessionControl::DiagnosticSessionControlClass -->
   <xsd:group name="DIAGNOSTIC-SESSION-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Session Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSessionControls";mmt.qualifiedName="DiagnosticSessionControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SessionControl::DiagnosticSessionControlClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SESSION-CONTROL-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Session Control" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticSessionControls";mmt.qualifiedName="DiagnosticSessionControlClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SESSION-CONTROL-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CommonDiagnostics::DiagnosticStartRoutine -->
   <xsd:group name="DIAGNOSTIC-START-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to start a diagnostic routine.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStartRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUESTS">
            <xsd:annotation>
               <xsd:documentation>This represents the request parameters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStartRoutine.request";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSES">
            <xsd:annotation>
               <xsd:documentation>This represents the response parameters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStartRoutine.response";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticStartRoutine -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-START-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to start a diagnostic routine.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStartRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-START-ROUTINE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticStopRoutine -->
   <xsd:group name="DIAGNOSTIC-STOP-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to stop a diagnostic routine.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStopRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUESTS">
            <xsd:annotation>
               <xsd:documentation>This represents the request parameters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStopRoutine.request";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSES">
            <xsd:annotation>
               <xsd:documentation>This represents the response parameters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStopRoutine.response";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-PARAMETER" type="AR:DIAGNOSTIC-PARAMETER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticStopRoutine -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-STOP-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to stop a diagnostic routine.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStopRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DIAGNOSTIC-STOP-ROUTINE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCondition::DiagnosticStorageCondition -->
   <xsd:group name="DIAGNOSTIC-STORAGE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Specification of a storage condition.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticStorageCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DiagnosticCondition::DiagnosticStorageCondition -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-STORAGE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Specification of a storage condition.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticStorageCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONDITION"/>
         <xsd:group ref="AR:DIAGNOSTIC-STORAGE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-STORAGE-CONDITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticConditionGroup::DiagnosticStorageConditionGroup -->
   <xsd:group name="DIAGNOSTIC-STORAGE-CONDITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>Storage condition group which includes one or several storage conditions.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticStorageConditionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORAGE-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>Reference to storageConditions that are part of the StorageConditionGroup.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="storageCondition, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticStorageConditionGroup.storageCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION-REF-CONDITIONAL" type="AR:DIAGNOSTIC-STORAGE-CONDITION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticConditionGroup::DiagnosticStorageConditionGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-STORAGE-CONDITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>Storage condition group which includes one or several storage conditions.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticConditions";mmt.qualifiedName="DiagnosticStorageConditionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-CONDITION-GROUP"/>
         <xsd:group ref="AR:DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-STORAGE-CONDITION-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticStorageConditionNeeds -->
   <xsd:group name="DIAGNOSTIC-STORAGE-CONDITION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to provide the capability to set a storage condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-STATUS" type="AR:STORAGE-CONDITION-STATUS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the initial status for enable or disable of storage of a diagnostic event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionNeeds.initialStatus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticStorageConditionNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-STORAGE-CONDITION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to provide the capability to set a storage condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticMapping::DiagnosticStorageConditionPortMapping -->
   <xsd:group name="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticStorageConditionNeeds the DiagnosticStorageCondition is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticStorageConditionPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-STORAGE-CONDITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the StorageCondition which is mapped to a SWC service port with DiagnosticStorageConditionNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionPortMapping.diagnosticStorageCondition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-STORAGE-CONDITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-FLAT-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a SwcServiceDependencyType that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionPortMapping.swcFlatServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IN-SYSTEM-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionPortMapping.swcServiceDependencyInSystem";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-SERVICE-DEPENDENCY-IREF" type="AR:SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Instance reference to a SwcServiceDependency that links ServiceNeeds to SWC service ports.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticStorageConditionPortMapping.swcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticStorageConditionPortMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines to which SWC service ports with DiagnosticStorageConditionNeeds the DiagnosticStorageCondition is mapped.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticStorageConditionPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-SW-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticCondition::DiagnosticStorageConditionRefConditional -->
   <xsd:group name="DIAGNOSTIC-STORAGE-CONDITION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-STORAGE-CONDITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageCondition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-STORAGE-CONDITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageConditionRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticCondition::DiagnosticStorageConditionRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-STORAGE-CONDITION-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStorageCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-STORAGE-CONDITION-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonDiagnostics::DiagnosticSupportInfoByte -->
   <xsd:group name="DIAGNOSTIC-SUPPORT-INFO-BYTE">
      <xsd:annotation>
         <xsd:documentation>This meta-class defines the support information (typically byte A) to declare the usability of the DataElements within the so-called packeted PIDs (e.g. PID$68).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSupportInfoByte"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSITION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the position of the supportInfo in the PID. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSupportInfoByte.position";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the size of the supportInfo within the PID. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSupportInfoByte.size";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CommonDiagnostics::DiagnosticSupportInfoByte -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-SUPPORT-INFO-BYTE">
      <xsd:annotation>
         <xsd:documentation>This meta-class defines the support information (typically byte A) to declare the usability of the DataElements within the so-called packeted PIDs (e.g. PID$68).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSupportInfoByte"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SUPPORT-INFO-BYTE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceMapping::DiagnosticSwMapping -->
   <xsd:group name="DIAGNOSTIC-SW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a mapping between a diagnostic information (at this point there is no way to become more specific about the semantics) to a software-component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSwMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DiagnosticTestResult::DiagnosticTestIdentifier -->
   <xsd:group name="DIAGNOSTIC-TEST-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to create a diagnostic test identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the numerical id associated with the diagnostic test identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestIdentifier.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UAS-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the unit and scaling Id of the diagnostic test result.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestIdentifier.uasId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTestResult::DiagnosticTestIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TEST-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to create a diagnostic test identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TEST-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticTestResult::DiagnosticTestResult -->
   <xsd:group name="DIAGNOSTIC-TEST-RESULT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define diagnostic test results.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTestResults";mmt.qualifiedName="DiagnosticTestResult"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the diagnostic event that is related to the diagnostic test result.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestResult.event";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MONITORED-IDENTIFIER-REF">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the related diagnostic monitored identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestResult.monitoredIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-MEASUREMENT-IDENTIFIER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-IDENTIFIER" type="AR:DIAGNOSTIC-TEST-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the applicable test identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestResult.testIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPDATE-KIND" type="AR:DIAGNOSTIC-TEST-RESULT-UPDATE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the update behavior of the enclosing DiagnosticTestResult.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestResult.updateKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTestResult::DiagnosticTestResult -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TEST-RESULT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define diagnostic test results.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTestResults";mmt.qualifiedName="DiagnosticTestResult"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TEST-RESULT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TEST-RESULT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TEST-RESULT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Mode_0x08_RequestControlOfOnBoardDevice::DiagnosticTestRoutineIdentifier -->
   <xsd:group name="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents the test id of the DiagnosticTestIdentifier.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTestRoutineIdentifier";mmt.qualifiedName="DiagnosticTestRoutineIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the numerical id of the DiagnosticTestIdentifier (see SAE J1979-DA).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestRoutineIdentifier.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-DATA-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the specified data size for the request message. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestRoutineIdentifier.requestDataSize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-DATA-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the specified data size for the response message. Unit:byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestRoutineIdentifier.responseDataSize";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Mode_0x08_RequestControlOfOnBoardDevice::DiagnosticTestRoutineIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents the test id of the DiagnosticTestIdentifier.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTestRoutineIdentifier";mmt.qualifiedName="DiagnosticTestRoutineIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MemoryByAddress::DiagnosticTransferExit -->
   <xsd:group name="DIAGNOSTIC-TRANSFER-EXIT">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Transfer Exit" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticTransferExit"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFER-EXIT-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticTransferExit in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTransferExit.transferExitClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TRANSFER-EXIT-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticTransferExit -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TRANSFER-EXIT">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Transfer Exit" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticTransferExit"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-TRANSFER-EXIT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticTransferExitClass -->
   <xsd:group name="DIAGNOSTIC-TRANSFER-EXIT-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Transfer Exit" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticTransferExitClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticTransferExitClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TRANSFER-EXIT-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Transfer Exit" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticTransferExitClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TRANSFER-EXIT-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCode -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE">
      <xsd:annotation>
         <xsd:documentation>A diagnostic trouble code defines a unique identifier that is shown to the diagnostic tester.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="DIAGNOSTIC-TROUBLE-CODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-OBD"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCodeGroup -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-GROUP">
      <xsd:annotation>
         <xsd:documentation>The diagnostic trouble code group defines the DTCs belonging together and thereby forming a group.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTCS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of DiagnosticTroubleCodes defined by this DiagnosticTroubleCodeGroup.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dtc, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticTroubleCodeGroup.dtc";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-TROUBLE-CODE-REF-CONDITIONAL" type="AR:DIAGNOSTIC-TROUBLE-CODE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GROUP-NUMBER" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This represents the base number of the DTC group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeGroup.groupNumber";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticTroubleCodeGroup -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-GROUP">
      <xsd:annotation>
         <xsd:documentation>The diagnostic trouble code group defines the DTCs belonging together and thereby forming a group.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCodeJ1939 -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-J-1939">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model specific trouble-code related properties for J1939.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeJ1939"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-PROPS-REF">
            <xsd:annotation>
               <xsd:documentation>Defined properties associated with the J1939 DTC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeJ1939.dtcProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FMI" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the behavior of the Failure Mode Indicator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeJ1939.fmi";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-DTC-VALUE" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the Unique Diagnostic Trouble Code value for J1939 (consisting of SPN and FMI).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticTroubleCodeJ1939.j1939DtcValue";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KIND" type="AR:DIAGNOSTIC-TROUBLE-CODE-J-1939-DTC-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute further specifies the DTC in terms of its semantics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeJ1939.kind";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the related DiagnosticJ1939Node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeJ1939.node";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPN-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the releated SPN.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeJ1939.spn";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-J-1939-SPN--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticTroubleCodeJ1939 -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-J-1939">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model specific trouble-code related properties for J1939.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeJ1939"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCodeObd -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-OBD">
      <xsd:annotation>
         <xsd:documentation>This element is used to define OBD-relevant DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeObd"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSIDER-PTO-STATUS" type="AR:BOOLEAN-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the affection of the event by the Dem PTO handling. 

True: the event is affected by the Dem PTO handling.
False: the event is not affected by the Dem PTO handling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeObd.considerPtoStatus";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-PROPS-REF">
            <xsd:annotation>
               <xsd:documentation>Defined properties associated with the DemDTC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeObd.dtcProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-OBD-READINESS-GROUP" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the Event OBD Readiness group for PID $01 and PID $41 computation. This attribute is only applicable for emission-related ECUs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeObd.eventObdReadinessGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OBD-DTC-VALUE" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Unique Diagnostic Trouble Code value for OBD.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeObd.obdDTCValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticTroubleCodeObd -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-OBD">
      <xsd:annotation>
         <xsd:documentation>This element is used to define OBD-relevant DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeObd"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-OBD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TROUBLE-CODE-OBD--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-OBD"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCodeProps -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-PROPS">
      <xsd:annotation>
         <xsd:documentation>This element defines common Dtc properties that can be reused by different non OBD-relevant DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodePropss";mmt.qualifiedName="DiagnosticTroubleCodeProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AGING-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an aging algorithm in case that an aging/unlearning of the event is allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.aging";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-AGING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENVIRONMENT-CAPTURE-TO-REPORTING" type="AR:ENVIRONMENT-CAPTURE-TO-REPORTING-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute determines the point in time, when the data actually is captured.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.environmentCaptureToReporting";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTENDED-DATA-RECORDS">
            <xsd:annotation>
               <xsd:documentation>Defines the links to an extended data class sampler.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticTroubleCodeProps.extendedDataRecord";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-EXTENDED-DATA-RECORD-REF-CONDITIONAL" type="AR:DIAGNOSTIC-EXTENDED-DATA-RECORD-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FDC-THRESHOLD-STORAGE-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Threshold to allocate an event memory entry and to capture the Freeze Frame. Unit: none (attribute represents a counter value).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="DiagnosticTroubleCodeProps.fdcThresholdStorageValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FREEZE-FRAMES">
            <xsd:annotation>
               <xsd:documentation>Define the links to a freeze frame class sampler.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="DiagnosticTroubleCodeProps.freezeFrame";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIAGNOSTIC-FREEZE-FRAME-REF-CONDITIONAL" type="AR:DIAGNOSTIC-FREEZE-FRAME-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FREEZE-FRAME-CONTENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the content of the a set of DiagnosticFreezeFrames.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.freezeFrameContent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-DATA-IDENTIFIER-SET--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMMEDIATE-NV-DATA-STORAGE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch to enable immediate storage triggering of an according event memory entry persistently to NVRAM.

true: immediate non-volatile storage triggering enabled 
false: immediate non-volatile storage triggering disabled</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.immediateNvDataStorage";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-FREEZE-FRAME-RECORDS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the number of according freeze frame records, which can maximal be stored for this event. Therefore all these freeze frame records have the same freeze frame class.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.maxNumberFreezeFrameRecords";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-DESTINATION-REFS">
            <xsd:annotation>
               <xsd:documentation>The event destination assigns events to none, one or multiple origins.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.memoryDestination";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEMORY-DESTINATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-MEMORY-DESTINATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority of the event, in view of full event buffer. A lower value means higher priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.priority";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNIFICANCE" type="AR:DIAGNOSTIC-SIGNIFICANCE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Significance of the event, which indicates additional information concerning fault classification and resolution.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeProps.significance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticTroubleCodeProps -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-PROPS">
      <xsd:annotation>
         <xsd:documentation>This element defines common Dtc properties that can be reused by different non OBD-relevant DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodePropss";mmt.qualifiedName="DiagnosticTroubleCodeProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TROUBLE-CODE-PROPS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCodeRefConditional -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-TROUBLE-CODE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticTroubleCodeRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticTroubleCode::DiagnosticTroubleCodeUds -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-UDS">
      <xsd:annotation>
         <xsd:documentation>This element is used to describe non OBD-relevant DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeUds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSIDER-PTO-STATUS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the affection of the event by the Dem PTO handling. 

True: the event is affected by the Dem PTO handling.
False: the event is not affected by the Dem PTO handling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.considerPtoStatus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-PROPS-REF">
            <xsd:annotation>
               <xsd:documentation>Defined properties associated with the DemDTC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.dtcProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-OBD-READINESS-GROUP" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the Event OBD Readiness group for PID $01 and PID $41 computation. This attribute is only applicable for emission-related ECUs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.eventObdReadinessGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTIONAL-UNIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies a 1-byte value which identifies the corresponding basic vehicle / system function which reports the DTC. This parameter
is necessary for the report of severity information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.functionalUnit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEVERITY" type="AR:DIAGNOSTIC-UDS-SEVERITY-ENUM">
            <xsd:annotation>
               <xsd:documentation>DTC severity according to ISO 14229-1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.severity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UDS-DTC-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Unique Diagnostic Trouble Code value for UDS.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.udsDtcValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WWH-OBD-DTC-CLASS" type="AR:DIAGNOSTIC-WWH-OBD-DTC-CLASS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to identify (if applicable) the corresponding severity class of an WWH-OBD DTC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUds.wwhObdDtcClass";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticTroubleCode::DiagnosticTroubleCodeUds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-UDS">
      <xsd:annotation>
         <xsd:documentation>This element is used to describe non OBD-relevant DTCs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticTroubleCodes";mmt.qualifiedName="DiagnosticTroubleCodeUds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-UDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TROUBLE-CODE-UDS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DiagnosticMapping::DiagnosticTroubleCodeUdsToTroubleCodeObdMapping -->
   <xsd:group name="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to associate a UDS trouble code to an OBD trouble code.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticTroubleCodeUdsToTroubleCodeObdMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TROUBLE-CODE-OBD-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the OBD DTC referenced in the mapping between UDS and OBD DTCs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUdsToTroubleCodeObdMapping.troubleCodeObd";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE-OBD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TROUBLE-CODE-UDS-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the UDS DTC referenced in the mapping between UDS and OBD DTCs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeUdsToTroubleCodeObdMapping.troubleCodeUds";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-TROUBLE-CODE-UDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticMapping::DiagnosticTroubleCodeUdsToTroubleCodeObdMapping -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to associate a UDS trouble code to an OBD trouble code.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMappings";mmt.qualifiedName="DiagnosticTroubleCodeUdsToTroubleCodeObdMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-MAPPING"/>
         <xsd:group ref="AR:DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DiagnosticValueNeeds -->
   <xsd:group name="DIAGNOSTIC-VALUE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (DCM) which are not related to a particular item (e.g. a PID). The main use case is the mapping of service ports to the DCM which are not related to a particular item.

In the case of using a sender receiver communicated value, the related value shall be taken via assignedData in the role "signalBasedDiagnostics".

In case of using a client/server communicated value, the related value shall be communicated via the port referenced by asssignedPort. The details of this communication (e.g. appropriate naming conventions) are specified in the related software specifications (SWS).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is applicable only if the ServiceNeed is aggregated within BswModuleDependency.

This attribute represents the length of data (in bytes) provided for this particular PID signal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds.dataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-VALUE-ACCESS" type="AR:DIAGNOSTIC-VALUE-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls whether the data can be read and written or whether it is to be handled read-only.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds.diagnosticValueAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DID-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents a Data identifier for the diagnostic value.
This allows to predefine the DID number if the responsible function developer has received a particular requirement from the OEM or from a standardization body.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds.didNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIXED-LENGTH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute controls whether the data length of the data is fixed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds.fixedLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROCESSING-STYLE" type="AR:DIAGNOSTIC-PROCESSING-STYLE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls whether interaction requires the software-component to react synchronously on a request or whether it processes the request in background but still the DCM has to issue the call again to eventually obtain the result of the request.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds.processingStyle";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticValueNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-VALUE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the general needs on the configuration of the  Diagnostic Communication Manager (DCM) which are not related to a particular item (e.g. a PID). The main use case is the mapping of service ports to the DCM which are not related to a particular item.

In the case of using a sender receiver communicated value, the related value shall be taken via assignedData in the role "signalBasedDiagnostics".

In case of using a client/server communicated value, the related value shall be communicated via the port referenced by asssignedPort. The details of this communication (e.g. appropriate naming conventions) are specified in the related software specifications (SWS).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-VALUE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-VALUE-NEEDS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-VALUE-NEEDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataByIdentifier::DiagnosticWriteDataByIdentifier -->
   <xsd:group name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Write Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticWriteDataByIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITE-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby,  the reference represents the ability to access shared attributes among all DiagnosticWriteDataByIdentifier in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticWriteDataByIdentifier.writeClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataByIdentifier::DiagnosticWriteDataByIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Write Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticWriteDataByIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:group ref="AR:DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataByIdentifier::DiagnosticWriteDataByIdentifierClass -->
   <xsd:group name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Write Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticWriteDataByIdentifierClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DataByIdentifier::DiagnosticWriteDataByIdentifierClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Write Data by Identifier" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticDataByIdentifiers";mmt.qualifiedName="DiagnosticWriteDataByIdentifierClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MemoryByAddress::DiagnosticWriteMemoryByAddress -->
   <xsd:group name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Write Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticWriteMemoryByAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITE-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>This reference substantiates that abstract reference in the role serviceClass for this specific concrete class. 

Thereby, the reference represents the ability to access shared attributes among all DiagnosticWritememoryByAddress in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticWriteMemoryByAddress.writeClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticWriteMemoryByAddress -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This represents an instance of the "Write Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticWriteMemoryByAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:group ref="AR:DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemoryByAddress::DiagnosticWriteMemoryByAddressClass -->
   <xsd:group name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Write Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticWriteMemoryByAddressClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class MemoryByAddress::DiagnosticWriteMemoryByAddressClass -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains attributes shared by all instances of the "Write Memory by Address" diagnostic service.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="DiagnosticMemoryByAdresss";mmt.qualifiedName="DiagnosticWriteMemoryByAddressClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:group ref="AR:DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DiagnosticsCommunicationSecurityNeeds -->
   <xsd:group name="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to verify the access to security level via diagnostic services.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticsCommunicationSecurityNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DiagnosticsCommunicationSecurityNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component to verify the access to security level via diagnostic services.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticsCommunicationSecurityNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::DiscoveryTechnology -->
   <xsd:group name="DISCOVERY-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>This element is deprecated and will be removed in future. This information is replaced by the runtimePortConfiguration and runtimeIpAddressConfiguration attributes in the SocketConnection.

Old description:
Discovery technology information.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";mmt.qualifiedName="DiscoveryTechnology"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NAME" type="AR:DISCOVERY-TECHNOLOGY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Discovery technology used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiscoveryTechnology.name";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the used Discovery protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DiscoveryTechnology.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::DiscoveryTechnology -->
   <xsd:complexType abstract="false" mixed="false" name="DISCOVERY-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>This element is deprecated and will be removed in future. This information is replaced by the runtimePortConfiguration and runtimeIpAddressConfiguration attributes in the SocketConnection.

Old description:
Discovery technology information.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";mmt.qualifiedName="DiscoveryTechnology"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DISCOVERY-TECHNOLOGY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DltUserNeeds -->
   <xsd:group name="DLT-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies the needs on the configuration of the Diagnostic Log and Trace module for one SessionId. 

This class currently contains no attributes. 

An instance of this class is used to find out which PortPrototypes of an AtomicSwComponentType belong to this SessionId in order to group the request and response PortPrototypes of the same SessionId. 

The actual SessionId value is stored in the PortDefinedArgumentValue of the respective PortPrototype specification.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DltUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DltUserNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DLT-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies the needs on the configuration of the Diagnostic Log and Trace module for one SessionId. 

This class currently contains no attributes. 

An instance of this class is used to find out which PortPrototypes of an AtomicSwComponentType belong to this SessionId in order to group the request and response PortPrototypes of the same SessionId. 

The actual SessionId value is stored in the PortDefinedArgumentValue of the respective PortPrototype specification.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DltUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DLT-USER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DoIpActivationLineNeeds -->
   <xsd:group name="DO-IP-ACTIVATION-LINE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>A DoIP entity needs to be informed when an external tester is attached or activated. The DoIpActivationServiceNeeds specifies the trigger for such an event. Examples would be a Pdu via a regular communication bus, a PWM signal, or an I/O. For details please refer to the ISO 13400.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpActivationLineNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DoIpActivationLineNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-ACTIVATION-LINE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>A DoIP entity needs to be informed when an external tester is attached or activated. The DoIpActivationServiceNeeds specifies the trigger for such an event. Examples would be a Pdu via a regular communication bus, a PWM signal, or an I/O. For details please refer to the ISO 13400.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpActivationLineNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-ACTIVATION-LINE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::DoIpEntity -->
   <xsd:group name="DO-IP-ENTITY">
      <xsd:annotation>
         <xsd:documentation>ECU providing this infrastructure service is a DoIP-Entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-ENTITY-ROLE" type="AR:DO-IP-ENTITY-ROLE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Identifies the role in terms of DoIP this network-node has.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpEntity.doIpEntityRole";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::DoIpEntity -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-ENTITY">
      <xsd:annotation>
         <xsd:documentation>ECU providing this infrastructure service is a DoIP-Entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DO-IP-ENTITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DoIpGidNeeds -->
   <xsd:group name="DO-IP-GID-NEEDS">
      <xsd:annotation>
         <xsd:documentation>The DoIpGidNeeds indicates that the software-component owning this ServiceNeeds is providing the GID number either after a GID Synchronisation or by other means like e.g. flashed EEPROM parameter. This need can be used independent from DoIpGidSynchronizationNeeds and is necessary if the GID can not be provided out of the DoIP configuration options.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpGidNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DoIpGidNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-GID-NEEDS">
      <xsd:annotation>
         <xsd:documentation>The DoIpGidNeeds indicates that the software-component owning this ServiceNeeds is providing the GID number either after a GID Synchronisation or by other means like e.g. flashed EEPROM parameter. This need can be used independent from DoIpGidSynchronizationNeeds and is necessary if the GID can not be provided out of the DoIP configuration options.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpGidNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-GID-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DoIpGidSynchronizationNeeds -->
   <xsd:group name="DO-IP-GID-SYNCHRONIZATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>The DoIpGidSynchronizationNeeds indicates that the software-component owning this ServiceNeeds is triggered by the DoIP entity to start a synchronization of the GID (Group Identification) on the DoIP service 0x0001, 0x0002, 0x0003 or before announcement via service 0x0004 according to ISO 13400-2:2012 if necessary. Note that this need is only relevant for DoIP synchronization masters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpGidSynchronizationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DoIpGidSynchronizationNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-GID-SYNCHRONIZATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>The DoIpGidSynchronizationNeeds indicates that the software-component owning this ServiceNeeds is triggered by the DoIP entity to start a synchronization of the GID (Group Identification) on the DoIP service 0x0001, 0x0002, 0x0003 or before announcement via service 0x0004 according to ISO 13400-2:2012 if necessary. Note that this need is only relevant for DoIP synchronization masters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpGidSynchronizationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::DoIpLogicAddress -->
   <xsd:group name="DO-IP-LOGIC-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>The logical DoIP address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpLogicAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The logical DoIP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpLogicAddress.address";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::DoIpLogicAddress -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-LOGIC-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>The logical DoIP address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpLogicAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DO-IP-LOGIC-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DO-IP-LOGIC-ADDRESS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DO-IP-LOGIC-ADDRESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::DoIpPowerModeStatusNeeds -->
   <xsd:group name="DO-IP-POWER-MODE-STATUS-NEEDS">
      <xsd:annotation>
         <xsd:documentation>The DoIpPowerModeStatusNeeds indicates that the software-component owning this ServiceNeeds is providing the PowerModeStatus for the DoIP service 0x4003 according to ISO 13400-2:2012.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpPowerModeStatusNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DoIpPowerModeStatusNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-POWER-MODE-STATUS-NEEDS">
      <xsd:annotation>
         <xsd:documentation>The DoIpPowerModeStatusNeeds indicates that the software-component owning this ServiceNeeds is providing the PowerModeStatus for the DoIP service 0x4003 according to ISO 13400-2:2012.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpPowerModeStatusNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-POWER-MODE-STATUS-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DoIpRoutingActivationAuthenticationNeeds -->
   <xsd:group name="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>DoIPRoutingActivationAuthenticationNeeds indicates that the software-component owning this ServiceNeeds will have an authentication required for a DoIP routing activation service (0x0005) according to ISO 13400-2:2012.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationAuthenticationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH-REQUEST" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the length in byte of the additional information for RA authentication that is needed by the software entity. If the software entity is a software-component the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the  software entity is a Complex Driver) this attribute needs to be filled out if additional information is needed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationAuthenticationNeeds.dataLengthRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH-RESPONSE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the length in byte of the additional information for RA authentication that is provided by the software entity. If the software entity is a software-component the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the  software entity is a Complex Driver) this attribute needs to be filled in if additional information is provided.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationAuthenticationNeeds.dataLengthResponse";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTING-ACTIVATION-TYPE" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>Describes the ISO 13400-2:2012 "routing activation request activation type" which is received via DoIP service 0x0005. 0x00 is DEFAULT, 0x01 is WWH-OBD. If neither of the specified values (0x00 or 0x01) is needed the token shall contain RA_ + hex value representation of the integer value shall be used (i.e: RA_0xE1).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationAuthenticationNeeds.routingActivationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DoIpRoutingActivationAuthenticationNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>DoIPRoutingActivationAuthenticationNeeds indicates that the software-component owning this ServiceNeeds will have an authentication required for a DoIP routing activation service (0x0005) according to ISO 13400-2:2012.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationAuthenticationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DoIpRoutingActivationConfirmationNeeds -->
   <xsd:group name="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>DoIpRoutingActivationConfirmationNeeds indicates that the software-component that owns this ServiceNeeds will have a confirmation required for a DoIP routing activation service (0x0005) according to ISO 13400-2:2012.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationConfirmationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH-REQUEST" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the length in byte of the additional information for RA confirmation that is needed by the software entity. If the software entity is a software-component the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the  software entity is a Complex Driver) this attribute needs to be filled out if additional information is needed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationConfirmationNeeds.dataLengthRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH-RESPONSE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the length in byte of the additional information for RA confirmation that is provided by the software entity. If the software entity is a software-component the attribute does not need to exist as the information is available via the length of the uint8 Array type. Otherwise (i.e the  software entity is a Complex Driver) this attribute needs to be filled out if additional information is provided.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationConfirmationNeeds.dataLengthResponse";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTING-ACTIVATION-TYPE" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>Describes the ISO 13400-2:2012 "routing activation request activation type" which is received via DoIP service 0x0005. 0x00 is DEFAULT, 0x01 is WWH-OBD. If neither of the specified values (0x00 or 0x01) is needed the token shall contain RA_ + hex value representation of the integer value shall be used (i.e: RA_0xE1).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationConfirmationNeeds.routingActivationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DoIpRoutingActivationConfirmationNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>DoIpRoutingActivationConfirmationNeeds indicates that the software-component that owns this ServiceNeeds will have a confirmation required for a DoIP routing activation service (0x0005) according to ISO 13400-2:2012.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpRoutingActivationConfirmationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-SERVICE-NEEDS"/>
         <xsd:group ref="AR:DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DoIpServiceNeeds -->
   <xsd:group name="DO-IP-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This represents an abstract base class for ServiceNeeds related to DoIP.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class TransportProtocols::DoIpTpConfig -->
   <xsd:group name="DO-IP-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one DoIp Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="DoIpTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-LOGIC-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>Collection of logical DoIP Addresses.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConfig.doIpLogicAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DO-IP-LOGIC-ADDRESS" type="AR:DO-IP-LOGIC-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>Collection of unidirectional connections between a source address and a target address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConfig.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DO-IP-TP-CONNECTION" type="AR:DO-IP-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::DoIpTpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one DoIp Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="DoIpTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:DO-IP-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DiagnosticConnection::DoIpTpConnection -->
   <xsd:group name="DO-IP-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The DoIp module routes a tpSdu through this connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-SOURCE-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the address of the sender of the tpSdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConnection.doIpSourceAddress";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DO-IP-LOGIC-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-TARGET-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the address of the receiver of the tpSdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConnection.doIpTargetAddress";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DO-IP-LOGIC-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is used to describe the data exchange between DoIp and the PduR. Only PduTriggerings of DcmIPdus shall be referenced here.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConnection.tpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DiagnosticConnection::DoIpTpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="DO-IP-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The DoIp module routes a tpSdu through this connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-CONNECTION"/>
         <xsd:group ref="AR:DO-IP-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AdminData::DocRevision -->
   <xsd:group name="DOC-REVISION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to maintain information which relates to revision management of documents or objects.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision";xml.sequenceOffset="20"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REVISION-LABEL" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the version number of the object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.revisionLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REVISION-LABEL-P-1" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the version number of the first predecessor  of the object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.revisionLabelP1";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REVISION-LABEL-P-2" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the version number of the second predecessor of the object.

This attribute is used if the object is the result of a merge process in which two branches are merged in to one new revision.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.revisionLabelP2";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATE" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>The attribute state represents the current state of the current file according to the configuration management plan. It is a NameToken until possible states are  standardized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.state";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ISSUED-BY" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This is the name of an individual or an organization who issued the current revision of the document or document fragment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.issuedBy";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATE" type="AR:DATE">
            <xsd:annotation>
               <xsd:documentation>This specifies the date and time, when the object in question was released</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.date";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODIFICATIONS">
            <xsd:annotation>
               <xsd:documentation>This property represents one particular modification in comparison to its predecessor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision.modification";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="100";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODIFICATION" type="AR:MODIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AdminData::DocRevision -->
   <xsd:complexType abstract="false" mixed="false" name="DOC-REVISION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to maintain information which relates to revision management of documents or objects.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocRevision";xml.sequenceOffset="20"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOC-REVISION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SpecificationScope::DocumentElementScope -->
   <xsd:group name="DOCUMENT-ELEMENT-SCOPE">
      <xsd:annotation>
         <xsd:documentation>Specifies if a specification element such as a requirement, specification, deliverable, artifact, task definition or activity is in scope of this data exchange point. The DocumentElementScope may reference all specification elements that have a name or ID. The only exception are Meta Classes, Meta Attribute and constraints which are handled in the Data Format Tailoring section of the Profile of Data Exchange Point.

Elements of Autosar specification documents are referenced via their ID (requirement, specification items) or name (deliverable, artifact, task definition or activity)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentElementScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-DOCUMENT-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a custom defined specification element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocumentElementScope.customDocumentElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRACEABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TAILORING-REFS">
            <xsd:annotation>
               <xsd:documentation>Data Format Element that is implied by this element in the specification. Used to share one rationale for more tailorings.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocumentElementScope.tailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TAILORING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DATA-FORMAT-ELEMENT-REFERENCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecificationScope::DocumentElementScope -->
   <xsd:complexType abstract="false" mixed="false" name="DOCUMENT-ELEMENT-SCOPE">
      <xsd:annotation>
         <xsd:documentation>Specifies if a specification element such as a requirement, specification, deliverable, artifact, task definition or activity is in scope of this data exchange point. The DocumentElementScope may reference all specification elements that have a name or ID. The only exception are Meta Classes, Meta Attribute and constraints which are handled in the Data Format Tailoring section of the Profile of Data Exchange Point.

Elements of Autosar specification documents are referenced via their ID (requirement, specification items) or name (deliverable, artifact, task definition or activity)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentElementScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DOCUMENT-ELEMENT-SCOPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PaginationAndView::DocumentViewSelectable -->
   <xsd:group name="DOCUMENT-VIEW-SELECTABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to be dedicated to a particular audience or document view.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentViewSelectable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class PaginationAndView::DocumentViewSelectable -->
   <xsd:attributeGroup name="DOCUMENT-VIEW-SELECTABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to be dedicated to a particular audience or document view.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentViewSelectable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="SI" type="AR:NMTOKENS-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute allows to denote a semantic information which is used to identify documentation objects to be selected in customizable document views. It shall be defined in agreement between the involved parties.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="DocumentViewSelectable.si";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="VIEW" type="AR:VIEW-TOKENS--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute lists the document views in which the object shall appear. If it is missing, the object appears in all document views.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="DocumentViewSelectable.view";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class DocumentationOnM1::Documentation -->
   <xsd:group name="DOCUMENTATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to handle a so called standalone documentation. Standalone means, that such a documentation is not embedded in another ARElement or identifiable object.  The standalone documentation is an entity of its own which denotes its context by reference to other objects and instances.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Documentations";mmt.qualifiedName="Documentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXTS">
            <xsd:annotation>
               <xsd:documentation>This is the context of the particular documentation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Documentation.context";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DOCUMENTATION-CONTEXT" type="AR:DOCUMENTATION-CONTEXT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DOCUMENTATION-CONTENT" type="AR:PREDEFINED-CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This is the content of the documentation related to the specified contexts.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Documentation.documentationContent";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="200"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DocumentationOnM1::Documentation -->
   <xsd:complexType abstract="false" mixed="false" name="DOCUMENTATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to handle a so called standalone documentation. Standalone means, that such a documentation is not embedded in another ARElement or identifiable object.  The standalone documentation is an entity of its own which denotes its context by reference to other objects and instances.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Documentations";mmt.qualifiedName="Documentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:DOCUMENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="DOCUMENTATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DOCUMENTATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BlockElements::DocumentationBlock -->
   <xsd:group name="DOCUMENTATION-BLOCK">
      <xsd:annotation>
         <xsd:documentation>This class represents a documentation block. It is made of basic text structure elements which can be displayed in a table cell.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="MSR-QUERY-P-2" type="AR:MSR-QUERY-P-2">
               <xsd:annotation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.msrQueryP2";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="P" type="AR:MULTI-LANGUAGE-PARAGRAPH">
               <xsd:annotation>
                  <xsd:documentation>This is one particular paragraph.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.p";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="10"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VERBATIM" type="AR:MULTI-LANGUAGE-VERBATIM">
               <xsd:annotation>
                  <xsd:documentation>This represents one particular verbatim text.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.verbatim";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="20"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="LIST" type="AR:LIST">
               <xsd:annotation>
                  <xsd:documentation>This represents numbered or unnumbered list. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.list";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="DEF-LIST" type="AR:DEF-LIST">
               <xsd:annotation>
                  <xsd:documentation>This represents a definition list in the documentation block.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.defList";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="LABELED-LIST" type="AR:LABELED-LIST">
               <xsd:annotation>
                  <xsd:documentation>This represents a labeled list.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.labeledList";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="FORMULA" type="AR:ML-FORMULA">
               <xsd:annotation>
                  <xsd:documentation>This is a formula in the definition block.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.formula";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="60"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="FIGURE" type="AR:ML-FIGURE">
               <xsd:annotation>
                  <xsd:documentation>This represents a figure in the documentation block.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.figure";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="70"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="NOTE" type="AR:NOTE">
               <xsd:annotation>
                  <xsd:documentation>This represents a note in the text flow.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.note";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="80"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="TRACE" type="AR:TRACEABLE-TEXT">
               <xsd:annotation>
                  <xsd:documentation>This represents traceable text in the documentation block. This allows to specify requirements/constraints in any documentation block.

The kind of the trace is specified in the category.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.trace";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="90"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="STRUCTURED-REQ" type="AR:STRUCTURED-REQ">
               <xsd:annotation>
                  <xsd:documentation>This aggregation supports structured requirements embedded in a documentation block.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock.structuredReq";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="100"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class BlockElements::DocumentationBlock -->
   <xsd:complexType abstract="false" mixed="false" name="DOCUMENTATION-BLOCK">
      <xsd:annotation>
         <xsd:documentation>This class represents a documentation block. It is made of basic text structure elements which can be displayed in a table cell.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationBlock"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DocumentationOnM1::DocumentationContext -->
   <xsd:group name="DOCUMENTATION-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to denote a context of a so called standalone  documentation. Note that this is an &lt;&lt;atpMixed&gt;&gt;. The contents needs to be considered as ordered.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FEATURE-IREF" type="AR:ANY-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to a particular  feature (instance in the M0 model) to which is the context of the documentation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationContext.feature";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENTIFIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This is an identifiable object which is part of the context of the documentation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationContext.identifiable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IDENTIFIABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DocumentationOnM1::DocumentationContext -->
   <xsd:complexType abstract="false" mixed="false" name="DOCUMENTATION-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to denote a context of a so called standalone  documentation. Note that this is an &lt;&lt;atpMixed&gt;&gt;. The contents needs to be considered as ordered.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DocumentationContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:DOCUMENTATION-CONTEXT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::DtcStatusChangeNotificationNeeds -->
   <xsd:group name="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component interested to get information regarding any DTC status change.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DtcStatusChangeNotificationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DTC-FORMAT-TYPE" type="AR:DTC-FORMAT-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the DTC format.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DtcStatusChangeNotificationNeeds.dtcFormatType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::DtcStatusChangeNotificationNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the needs of a software-component interested to get information regarding any DTC status change.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DtcStatusChangeNotificationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::DynamicPart -->
   <xsd:group name="DYNAMIC-PART">
      <xsd:annotation>
         <xsd:documentation>Dynamic part of a multiplexed I-Pdu. 
Reserved space which is used to transport varying SignalIPdus at the same position, controlled by the corresponding selectorFieldCode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-PART-ALTERNATIVES">
            <xsd:annotation>
               <xsd:documentation>Com IPdu alternatives that are transmitted  in the Dynamic Part of the MultiplexedIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPart.dynamicPartAlternative";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DYNAMIC-PART-ALTERNATIVE" type="AR:DYNAMIC-PART-ALTERNATIVE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPart.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::DynamicPart -->
   <xsd:complexType abstract="false" mixed="false" name="DYNAMIC-PART">
      <xsd:annotation>
         <xsd:documentation>Dynamic part of a multiplexed I-Pdu. 
Reserved space which is used to transport varying SignalIPdus at the same position, controlled by the corresponding selectorFieldCode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MULTIPLEXED-PART"/>
         <xsd:group ref="AR:DYNAMIC-PART"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::DynamicPartAlternative -->
   <xsd:group name="DYNAMIC-PART-ALTERNATIVE">
      <xsd:annotation>
         <xsd:documentation>One of the Com IPdu alternatives that are transmitted in the Dynamic Part of the MultiplexedIPdu. The selectorFieldCode
specifies which Com IPdu is contained in the DynamicPart within a
certain transmission of a multiplexed PDU.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPartAlternative"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Com IPdu which is routed to the IPduM module and is combined to a multiplexedPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPartAlternative.iPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-DYNAMIC-PART" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Dynamic part that shall be used to initialize this multiplexed IPdu.

Constraint: Only one "DynamicPartAlternative" in a "DynamicPart" shall
be the initialDynamicPart.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPartAlternative.initialDynamicPart";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SELECTOR-FIELD-CODE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The selector field is part of a multiplexed IPdu. It consists of contiguous bits. The value of the selector field selects the layout of the multiplexed part of the IPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPartAlternative.selectorFieldCode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::DynamicPartAlternative -->
   <xsd:complexType abstract="false" mixed="false" name="DYNAMIC-PART-ALTERNATIVE">
      <xsd:annotation>
         <xsd:documentation>One of the Com IPdu alternatives that are transmitted in the Dynamic Part of the MultiplexedIPdu. The selectorFieldCode
specifies which Com IPdu is contained in the DynamicPart within a
certain transmission of a multiplexed PDU.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DynamicPartAlternative"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DYNAMIC-PART-ALTERNATIVE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUResourceMapping::ECUMapping -->
   <xsd:group name="ECU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>ECUMapping allows to assign an ECU hardware type (defined in the ECU Resource Template) to an ECUInstance used in a physical topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMM-CONTROLLER-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The ECUMapping contains the mapping of all CommunicationControllers of the ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping.commControllerMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMMUNICATION-CONTROLLER-MAPPING" type="AR:COMMUNICATION-CONTROLLER-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the EcuInstance in the System Template</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a HwElement of category ECU in the ECU Resource Template.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping.ecu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PORT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The ECUMapping contains the mapping of all HW Communication Ports of the ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping.hwPortMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-PORT-MAPPING" type="AR:HW-PORT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUResourceMapping::ECUMapping -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>ECUMapping allows to assign an ECU hardware type (defined in the ECU Resource Template) to an ECUInstance used in a physical topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ECUMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECU-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ExecutionOrderConstraint::EOCEventRef -->
   <xsd:group name="EOC-EVENT-REF">
      <xsd:annotation>
         <xsd:documentation>This is used to define a reference to an RTE or BSW Event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCEventRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the BSW module instance the BSW event is related to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCEventRef.bswModuleInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-IMPLEMENTATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREF" type="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This association references the specific instance of the SW-C prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCEventRef.component";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>The AbstractEvent (event) whose execution order is restricted by the contraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCEventRef.event";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUCCESSOR-REFS">
            <xsd:annotation>
               <xsd:documentation>The logical successor of an executable entity or a group of executable entities.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCEventRef.successor";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUCCESSOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionOrderConstraint::EOCEventRef -->
   <xsd:complexType abstract="false" mixed="false" name="EOC-EVENT-REF">
      <xsd:annotation>
         <xsd:documentation>This is used to define a reference to an RTE or BSW Event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCEventRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT"/>
         <xsd:group ref="AR:EOC-EVENT-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ExecutionOrderConstraint::EOCExecutableEntityRef -->
   <xsd:group name="EOC-EXECUTABLE-ENTITY-REF">
      <xsd:annotation>
         <xsd:documentation>This is used to define a reference to an ExecutableEntity

If the ExecutionOrderConstraint is defined on VFB, System or ECU level, a reference to the SwComponentPrototype, via the ComponentInCompositionInstanceRef, the referenced ExecutableEntity belongs to, must be provided as context information.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the BSW module instance the BSW module entity belongs to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRef.bswModuleInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-IMPLEMENTATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREF" type="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This association references the specific instance of the SW-C prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRef.component";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The ExecutableEntity whose execution order is restricted by the contraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRef.executable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXECUTABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUCCESSOR-REFS">
            <xsd:annotation>
               <xsd:documentation>The logical successor of an executable entity or a group of executable entities.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRef.successor";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUCCESSOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionOrderConstraint::EOCExecutableEntityRef -->
   <xsd:complexType abstract="false" mixed="false" name="EOC-EXECUTABLE-ENTITY-REF">
      <xsd:annotation>
         <xsd:documentation>This is used to define a reference to an ExecutableEntity

If the ExecutionOrderConstraint is defined on VFB, System or ECU level, a reference to the SwComponentPrototype, via the ComponentInCompositionInstanceRef, the referenced ExecutableEntity belongs to, must be provided as context information.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT"/>
         <xsd:group ref="AR:EOC-EXECUTABLE-ENTITY-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ExecutionOrderConstraint::EOCExecutableEntityRefAbstract -->
   <xsd:group name="EOC-EXECUTABLE-ENTITY-REF-ABSTRACT">
      <xsd:annotation>
         <xsd:documentation>This is the abstractions for Execution Order Constraint Executable Entity References (leaves) and Execution Order Constraint Executable Entity Reference Groups (composites).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefAbstract"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECT-SUCCESSOR-REFS">
            <xsd:annotation>
               <xsd:documentation>The direct successor of an executable entity or a group of executable entities.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefAbstract.directSuccessor";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DIRECT-SUCCESSOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="EOC-EXECUTABLE-ENTITY-REF-ABSTRACT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EOC-EVENT-REF"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF-ABSTRACT"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ExecutionOrderConstraint::EOCExecutableEntityRefGroup -->
   <xsd:group name="EOC-EXECUTABLE-ENTITY-REF-GROUP">
      <xsd:annotation>
         <xsd:documentation>This is used to specify a group (composite) consisting of Execution Order Constraint Executable Entity References (leaves) and/or further Execution Order Constraint Executable Entity Reference Groups (composite).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-CYCLES" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>In case of a Repetitive Execution Order Constraint this attribute specifies the number of cycles the Execution Order Constraint is considering.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup.maxCycles";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SLOTS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>In case of a Repetitive Execution Order Constraint this attribute specifies the number of slots every cycle of the Execution Order Constraint is consisting of.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup.maxSlots";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NESTED-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>This association is used to establish hierarchies of EOCEER Groups and References.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup.nestedElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NESTED-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUCCESSOR-REFS">
            <xsd:annotation>
               <xsd:documentation>The logical successor of an executable entity or a group of executable entities.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup.successor";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUCCESSOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGERING-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>In case of a Repetitive Execution Order Constraint this association references the timing description event triggering every cycle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup.triggeringEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionOrderConstraint::EOCExecutableEntityRefGroup -->
   <xsd:complexType abstract="false" mixed="false" name="EOC-EXECUTABLE-ENTITY-REF-GROUP">
      <xsd:annotation>
         <xsd:documentation>This is used to specify a group (composite) consisting of Execution Order Constraint Executable Entity References (leaves) and/or further Execution Order Constraint Executable Entity Reference Groups (composite).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EOCExecutableEntityRefGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EOC-EXECUTABLE-ENTITY-REF-ABSTRACT"/>
         <xsd:group ref="AR:EOC-EXECUTABLE-ENTITY-REF-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::EcuAbstractionSwComponentType -->
   <xsd:group name="ECU-ABSTRACTION-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ECUAbstraction is a special AtomicSwComponentType that resides between a software-component that wants to access ECU periphery and the Microcontroller Abstraction. The EcuAbstractionSwComponentType introduces the possibility to link from the software representation to its hardware description provided by the ECU Resource Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="EcuAbstractionSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HARDWARE-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference from the EcuAbstractionComponentType to the description of the used HwElements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuAbstractionSwComponentType.hardwareElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HARDWARE-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-DESCRIPTION-ENTITY--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::EcuAbstractionSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-ABSTRACTION-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ECUAbstraction is a special AtomicSwComponentType that resides between a software-component that wants to access ECU periphery and the Microcontroller Abstraction. The EcuAbstractionSwComponentType introduces the possibility to link from the software representation to its hardware description provided by the ECU Resource Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="EcuAbstractionSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::EcuInstance -->
   <xsd:group name="ECU-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>ECUInstances are used to define the ECUs used in the topology. The type of the ECU is defined by a reference to an ECU specified with the ECU resource description.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcuInstances";mmt.qualifiedName="EcuInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSOCIATED-COM-I-PDU-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>With this reference it is possible to identify which ISignalIPduGroups are applicable for which CommunicationConnector/ ECU. 

Only top level ISignalIPduGroups shall be referenced by an EcuInstance. If an ISignalIPduGroup contains other ISignalIPduGroups than these contained ISignalIPduGroups shall not be referenced by the EcuInstance. Contained ISignalIPduGroups are associated to an EcuInstance via the top level ISignalIPduGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.associatedComIPduGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ASSOCIATED-COM-I-PDU-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSOCIATED-PDUR-I-PDU-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>With this reference it is possible to identify which PduR IPdu Groups are applicable for which CommunicationConnector/ ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.associatedPdurIPduGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ASSOCIATED-PDUR-I-PDU-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PDUR-I-PDU-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-TP-ADDRESS-REFS">
            <xsd:annotation>
               <xsd:documentation>Please note that this reference is deprecated and will be removed in future.

A Tp Address can be assigned to an ECU without an existing TP Configuration. If TpNodes are described this reference shall not be used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="EcuInstance.canTpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-TP-ADDRESS-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CAN-TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-ID-RANGE" type="AR:CLIENT-ID-RANGE">
            <xsd:annotation>
               <xsd:documentation>Restriction of the Client Identifier for this Ecu to an allowed range of numerical values. The Client Identifier of the transaction handle is generated by the client RTE for inter-Ecu Client/Server communication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.clientIdRange";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COM-CONFIGURATION-GW-TIME-BASE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The period between successive calls to Com_MainFunctionRouteSignals of the AUTOSAR COM module in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.comConfigurationGwTimeBase";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COM-CONFIGURATION-RX-TIME-BASE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The period between successive calls to Com_MainFunctionRx of the AUTOSAR COM module in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.comConfigurationRxTimeBase";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COM-CONFIGURATION-TX-TIME-BASE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The period between successive calls to Com_MainFunctionTx of the AUTOSAR COM module in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.comConfigurationTxTimeBase";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COM-ENABLE-MDT-FOR-CYCLIC-TRANSMISSION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables for the Com module of this EcuInstance the minimum delay time monitoring for cyclic and repeated transmissions (TransmissionModeTiming has cyclicTiming assigned or eventControlledTiming with numberOfRepetitions &gt; 0).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.comEnableMDTForCyclicTransmission";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMM-CONTROLLERS">
            <xsd:annotation>
               <xsd:documentation>CommunicationControllers of the ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.commController";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-COMMUNICATION-CONTROLLER" type="AR:CAN-COMMUNICATION-CONTROLLER"/>
                  <xsd:element name="ETHERNET-COMMUNICATION-CONTROLLER" type="AR:ETHERNET-COMMUNICATION-CONTROLLER"/>
                  <xsd:element name="FLEXRAY-COMMUNICATION-CONTROLLER" type="AR:FLEXRAY-COMMUNICATION-CONTROLLER"/>
                  <xsd:element name="LIN-MASTER" type="AR:LIN-MASTER"/>
                  <xsd:element name="LIN-SLAVE" type="AR:LIN-SLAVE"/>
                  <xsd:element name="TTCAN-COMMUNICATION-CONTROLLER" type="AR:TTCAN-COMMUNICATION-CONTROLLER"/>
                  <xsd:element name="USER-DEFINED-COMMUNICATION-CONTROLLER" type="AR:USER-DEFINED-COMMUNICATION-CONTROLLER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTORS">
            <xsd:annotation>
               <xsd:documentation>All channels controlled by a single controller.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.connector";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-COMMUNICATION-CONNECTOR" type="AR:CAN-COMMUNICATION-CONNECTOR"/>
                  <xsd:element name="ETHERNET-COMMUNICATION-CONNECTOR" type="AR:ETHERNET-COMMUNICATION-CONNECTOR"/>
                  <xsd:element name="FLEXRAY-COMMUNICATION-CONNECTOR" type="AR:FLEXRAY-COMMUNICATION-CONNECTOR"/>
                  <xsd:element name="LIN-COMMUNICATION-CONNECTOR" type="AR:LIN-COMMUNICATION-CONNECTOR"/>
                  <xsd:element name="TTCAN-COMMUNICATION-CONNECTOR" type="AR:TTCAN-COMMUNICATION-CONNECTOR"/>
                  <xsd:element name="USER-DEFINED-COMMUNICATION-CONNECTOR" type="AR:USER-DEFINED-COMMUNICATION-CONNECTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-ADDRESS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>An ECU specific ID for responses of diagnostic routines.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.diagnosticAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-PROPS" type="AR:DIAGNOSTIC-ECU-PROPS">
            <xsd:annotation>
               <xsd:documentation>This represents the diagnostic-related properties of an entire ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.diagnosticProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ETH-SWITCH-PORT-GROUP-DERIVATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether the derivation of SwitchPortGroups based on VLAN and/or CouplingPort.pncMapping shall be performed for this EcuInstance. If not defined the derivation shall not be done.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.ethSwitchPortGroupDerivation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARTITIONS">
            <xsd:annotation>
               <xsd:documentation>Optional definition of Partitions within an Ecu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.partition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECU-PARTITION" type="AR:ECU-PARTITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PN-RESET-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the runtime of the reset timer in seconds. This reset time is valid for the reset of PN requests in the EIRA and in the ERA.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.pnResetTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-PREPARE-SLEEP-TIMER" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time in seconds the PNC state machine shall wait in PNC_PREPARE_SLEEP.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.pncPrepareSleepTimer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SLEEP-MODE-SUPPORTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether the ECU instance may be put to a "low power mode" 
* true: sleep mode is supported 
* false: sleep mode is not supported 

Note: This flag may only be set to "true" if the feature is supported by both hardware and basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.sleepModeSupported";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-REFS">
            <xsd:annotation>
               <xsd:documentation>Please note that this reference is deprecated and will be removed in future.

A Tp Address can be assigned to an ECU without an existing TP Configuration. If TpNodes are described this reference shall not be used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="EcuInstance.tpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TP-ADDRESS-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="V-2-X-SUPPORTED" type="AR:V-2-X-SUPPORT-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to control the existence of the V2X stack on the given EcuInstance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.v2xSupported";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKE-UP-OVER-BUS-SUPPORTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Driver support for wakeup over Bus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuInstance.wakeUpOverBusSupported";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreTopology::EcuInstance -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>ECUInstances are used to define the ECUs used in the topology. The type of the ECU is defined by a reference to an ECU specified with the ECU resource description.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcuInstances";mmt.qualifiedName="EcuInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:ECU-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECU-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECU-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SWmapping::EcuPartition -->
   <xsd:group name="ECU-PARTITION">
      <xsd:annotation>
         <xsd:documentation>Partitions are used as error containment regions. They permit the grouping of SWCs and resources and allow to describe recovery policies individually for each partition. Partitions can be terminated or restarted during run-time as a result of a detected error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcuPartition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXEC-IN-USER-MODE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>A partition can execute either in CPU user mode (execInUserMode = TRUE) or supervisor mode (execInUserMode = FALSE). In user mode, the partition has a limited access to memory, to memory mapped hardware and to CPU. In user mode, the partition is mapped to a non-trusted OS-Application.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuPartition.execInUserMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::EcuPartition -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-PARTITION">
      <xsd:annotation>
         <xsd:documentation>Partitions are used as error containment regions. They permit the grouping of SWCs and resources and allow to describe recovery policies individually for each partition. Partitions can be terminated or restarted during run-time as a result of a detected error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcuPartition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECU-PARTITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECU-PARTITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECU-PARTITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SWmapping::EcuResourceEstimation -->
   <xsd:group name="ECU-RESOURCE-ESTIMATION">
      <xsd:annotation>
         <xsd:documentation>Resource estimations for RTE and BSW of a single ECU instance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the ecu resource estimation</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-RESOURCE-ESTIMATION" type="AR:RESOURCE-CONSUMPTION">
            <xsd:annotation>
               <xsd:documentation>Estimation for the resource consumption of the basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation.bswResourceEstimation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the ECU this estimation is done for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RTE-RESOURCE-ESTIMATION" type="AR:RESOURCE-CONSUMPTION">
            <xsd:annotation>
               <xsd:documentation>Estimation for the resource consumption of the run time environment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation.rteResourceEstimation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-COMP-TO-ECU-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>References to  SwcToEcuMappings that have been taken into account for the resource estimations. This way it is possible to define dfferent EcuResourceEstimations with diifferent mappings, e.g. before and after mapping an additional SW component.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation.swCompToEcuMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-COMP-TO-ECU-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SWC-TO-ECU-MAPPING--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::EcuResourceEstimation -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-RESOURCE-ESTIMATION">
      <xsd:annotation>
         <xsd:documentation>Resource estimations for RTE and BSW of a single ECU instance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcuResourceEstimation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECU-RESOURCE-ESTIMATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::EcuStateMgrUserNeeds -->
   <xsd:group name="ECU-STATE-MGR-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the ECU State  Manager for one "user". This class currently contains no attributes. Its name can be regarded as a symbol identifying the user  from the viewpoint of the component or module which owns this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcuStateMgrUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::EcuStateMgrUserNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-STATE-MGR-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the ECU State  Manager for one "user". This class currently contains no attributes. Its name can be regarded as a symbol identifying the user  from the viewpoint of the component or module which owns this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcuStateMgrUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:ECU-STATE-MGR-USER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Timing::EcuTiming -->
   <xsd:group name="ECU-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to define timing descriptions and constraints within the scope of one ECU configuration.

TimingDescriptions aggregated by EcuTiming are allowed to use all events derived from the class TimingDescriptionEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="EcuTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-CONFIGURATION-REF">
            <xsd:annotation>
               <xsd:documentation>This defines the scope of an EcuTiming. All corresponding timing descriptions and constraints must be defined within this scope.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcuTiming.ecuConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-VALUE-COLLECTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::EcuTiming -->
   <xsd:complexType abstract="false" mixed="false" name="ECU-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to define timing descriptions and constraints within the scope of one ECU configuration.

TimingDescriptions aggregated by EcuTiming are allowed to use all events derived from the class TimingDescriptionEvent.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="EcuTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TIMING-EXTENSION"/>
         <xsd:group ref="AR:ECU-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucAbstractConfigurationClass -->
   <xsd:group name="ECUC-ABSTRACT-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies the ValueConfigurationClass of a parameter/reference or the MultiplicityConfigurationClass of a parameter/reference or a container for each ConfigurationVariant of the EcucModuleDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIG-CLASS" type="AR:ECUC-CONFIGURATION-CLASS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the ConfigurationClass for the given ConfigurationVariant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractConfigurationClass.configClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIG-VARIANT" type="AR:ECUC-CONFIGURATION-VARIANT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the ConfigurationVariant the ConfigurationClass is specified for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractConfigurationClass.configVariant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucAbstractExternalReferenceDef -->
   <xsd:group name="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Common abstract class to gather attributes for external references (where the destination is not located in the ECU Configuration Description but in an another AUTOSAR Template).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractExternalReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucAbstractInternalReferenceDef -->
   <xsd:group name="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Common abstract class to gather attributes for internal references (where the destination is located in the Ecu Configuration Description).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractInternalReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRES-SYMBOLIC-NAME-VALUE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the implementation of the reference is done using a Symbolic Name defined by the referenced container according to TPS_ECUC_02108.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractInternalReferenceDef.requiresSymbolicNameValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucAbstractReferenceDef -->
   <xsd:group name="ECUC-ABSTRACT-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Common class to gather the attributes for the definition of references.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="ECUC-ABSTRACT-REFERENCE-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-FOREIGN-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-INSTANCE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-URI-REFERENCE-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCDescriptionTemplate::EcucAbstractReferenceValue -->
   <xsd:group name="ECUC-ABSTRACT-REFERENCE-VALUE">
      <xsd:annotation>
         <xsd:documentation>Abstract class to be used as common parent for all reference values in the ECU Configuration Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractReferenceValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFINITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the definition of this EcucAbstractReferenceValue subclasses in the ECU Configuration Parameter Definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractReferenceValue.definition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-ABSTRACT-REFERENCE-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Possibility to provide additional notes while defining a model element (e.g. the ECU Configuration Parameter Values). These are not intended as documentation but are mere design notes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractReferenceValue.annotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANNOTATION" type="AR:ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractReferenceValue.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucAbstractStringParamDef -->
   <xsd:group name="ECUC-ABSTRACT-STRING-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Abstract class that is used to collect the common properties for StringParamDefs, LinkerSymbolDef, FunctionNameDef and MultilineStringParamDefs. 

atpVariation: [RS_ECUC_0083]</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractStringParamDef";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucAbstractStringParamDefContent -->
   <xsd:group name="ECUC-ABSTRACT-STRING-PARAM-DEF-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractStringParamDefContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:VERBATIM-STRING">
            <xsd:annotation>
               <xsd:documentation>Default value of the string configuration parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractStringParamDef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Max length allowed for this string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractStringParamDef.maxLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Min length allowed for this string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractStringParamDef.minLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REGULAR-EXPRESSION" type="AR:REGULAR-EXPRESSION">
            <xsd:annotation>
               <xsd:documentation>This represents the regular expression which shall be used to validate the string parameter value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAbstractStringParamDef.regularExpression";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucAddInfoParamDef -->
   <xsd:group name="ECUC-ADD-INFO-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration Parameter Definition for the specification of formatted text in the ECU Configuration Parameter Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAddInfoParamDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucAddInfoParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-ADD-INFO-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration Parameter Definition for the specification of formatted text in the ECU Configuration Parameter Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAddInfoParamDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-ADD-INFO-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucAddInfoParamValue -->
   <xsd:group name="ECUC-ADD-INFO-PARAM-VALUE">
      <xsd:annotation>
         <xsd:documentation>This parameter corresponds to EcucAddInfoParamDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAddInfoParamValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>Holds the content of the formated text.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucAddInfoParamValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucAddInfoParamValue -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-ADD-INFO-PARAM-VALUE">
      <xsd:annotation>
         <xsd:documentation>This parameter corresponds to EcucAddInfoParamDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucAddInfoParamValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-INDEXABLE-VALUE"/>
         <xsd:group ref="AR:ECUC-PARAMETER-VALUE"/>
         <xsd:group ref="AR:ECUC-ADD-INFO-PARAM-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucBooleanParamDef -->
   <xsd:group name="ECUC-BOOLEAN-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Boolean. Allowed values are true and false.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucBooleanParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:BOOLEAN-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Default value of the boolean configuration parameter.

atpVariation: [RS_ECUC_00083]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucBooleanParamDef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucBooleanParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-BOOLEAN-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Boolean. Allowed values are true and false.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucBooleanParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-BOOLEAN-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucChoiceContainerDef -->
   <xsd:group name="ECUC-CHOICE-CONTAINER-DEF">
      <xsd:annotation>
         <xsd:documentation>Used to define configuration containers that provide a choice between several EcucParamConfContainerDef. But in the actual ECU Configuration Values only one instance from the choice list will be present.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucChoiceContainerDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHOICES">
            <xsd:annotation>
               <xsd:documentation>The choices available in a EcucChoiceContainerDef.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="EcucChoiceContainerDef.choice";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-PARAM-CONF-CONTAINER-DEF" type="AR:ECUC-PARAM-CONF-CONTAINER-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucChoiceContainerDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-CHOICE-CONTAINER-DEF">
      <xsd:annotation>
         <xsd:documentation>Used to define configuration containers that provide a choice between several EcucParamConfContainerDef. But in the actual ECU Configuration Values only one instance from the choice list will be present.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucChoiceContainerDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-CONTAINER-DEF"/>
         <xsd:group ref="AR:ECUC-CHOICE-CONTAINER-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucChoiceReferenceDef -->
   <xsd:group name="ECUC-CHOICE-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify alternative references where in the ECU Configuration description only one of the specified references will actually be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucChoiceReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-REFS">
            <xsd:annotation>
               <xsd:documentation>All the possible parameter containers for the reference are specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucChoiceReferenceDef.destination";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DESTINATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-CONTAINER-DEF--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucChoiceReferenceDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-CHOICE-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify alternative references where in the ECU Configuration description only one of the specified references will actually be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucChoiceReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-CHOICE-REFERENCE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucCommonAttributes -->
   <xsd:group name="ECUC-COMMON-ATTRIBUTES">
      <xsd:annotation>
         <xsd:documentation>Attributes used by Configuration Parameters as well as References.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIGURATION-CLASS-AFFECTION" type="AR:ECUC-CONFIGURATION-CLASS-AFFECTION">
            <xsd:annotation>
               <xsd:documentation>Specifies whether changes on this parameter have some affection on other parameters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucCommonAttributes.configurationClassAffection";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-CONFIG-CLASSES">
            <xsd:annotation>
               <xsd:documentation>Specifies in which ConfigurationClass this parameter or reference is available for which ConfigurationVariant. 
This aggregation is optional if the surrounding EcucModuleDef has the category STANDARDIZED_MODULE_DEFINITION. If the category attribute of the EcucModuleDef is set to VENDOR_SPECIFIC_MODULE_DEFINITION then this aggregation is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucCommonAttributes.implementationConfigClass";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="IMPLEMENTATION-CONFIG-CLASSES"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-IMPLEMENTATION-CONFIGURATION-CLASS" type="AR:ECUC-IMPLEMENTATION-CONFIGURATION-CLASS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTIPLICITY-CONFIG-CLASSES">
            <xsd:annotation>
               <xsd:documentation>Specifies in which MultiplicityConfigurationClass this parameter or reference is available in a particular ConfigurationVariant. This aggregation is optional if the surrounding EcucModuleDef has the Category STANDARDIZED_MODULE_DEFINITION. If the category attribute of the EcucModuleDef is set to VENDOR_SPECIFIC_MODULE_DEFINITION, then this aggregation is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes.multiplicityConfigClass";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="MULTIPLICITY-CONFIG-CLASSES"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-MULTIPLICITY-CONFIGURATION-CLASS" type="AR:ECUC-MULTIPLICITY-CONFIGURATION-CLASS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ORIGIN" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>String specifying if this configuration parameter is an AUTOSAR standardized configuration parameter or if the parameter is hardware- or vendor-specific.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes.origin";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-MULTIPLICITY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates if a parameter or a reference may have different number of instances in different post-build variants (previously known as post-build selectable configuration sets). TRUE means yes, FALSE means no.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes.postBuildVariantMultiplicity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-VALUE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates if a parameter or a reference may have different value in different post-build variants (previously known as post-build selectable configuration sets). TRUE means yes, FALSE means no.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes.postBuildVariantValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRES-INDEX" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Used to define whether the value element for this definition shall be provided with an index.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes.requiresIndex";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-CONFIG-CLASSES">
            <xsd:annotation>
               <xsd:documentation>Specifies in which ValueConfigurationClass this parameter or reference is available in a particular ConfigurationVariant. This aggregation is optional if the surrounding EcucModuleDef has the Category STANDARDIZED_MODULE_DEFINITION. If the category attribute of the EcucModuleDef is set to VENDOR_SPECIFIC_MODULE_DEFINITION, then this aggregation is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucCommonAttributes.valueConfigClass";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="VALUE-CONFIG-CLASSES"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-VALUE-CONFIGURATION-CLASS" type="AR:ECUC-VALUE-CONFIGURATION-CLASS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ECUC-COMMON-ATTRIBUTES--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ADD-INFO-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-BOOLEAN-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-COMMON-ATTRIBUTES"/>
         <xsd:enumeration value="ECUC-ENUMERATION-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FLOAT-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FOREIGN-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-FUNCTION-NAME-DEF"/>
         <xsd:enumeration value="ECUC-INSTANCE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-INTEGER-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-LINKER-SYMBOL-DEF"/>
         <xsd:enumeration value="ECUC-MULTILINE-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-PARAMETER-DEF"/>
         <xsd:enumeration value="ECUC-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-URI-REFERENCE-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucConditionFormula -->
   <xsd:group name="ECUC-CONDITION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This formula must yield a boolean expression depending on ecuc queries. Note that the EcucConditionFormula is a mixed string. Therefore, the properties have the upper multiplicity 1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="ECUC-QUERY-REF">
               <xsd:annotation>
                  <xsd:documentation>The EcucQuery serves as a argument for the formula.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionFormula.ecucQuery";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-QUERY--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="ECUC-QUERY-STRING-REF">
               <xsd:annotation>
                  <xsd:documentation>This indicates that the referenced query shall return a string.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionFormula.ecucQueryString";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-QUERY--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucConditionFormula -->
   <xsd:complexType abstract="false" mixed="true" name="ECUC-CONDITION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This formula must yield a boolean expression depending on ecuc queries. Note that the EcucConditionFormula is a mixed string. Therefore, the properties have the upper multiplicity 1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:ECUC-CONDITION-FORMULA"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucConditionSpecification -->
   <xsd:group name="ECUC-CONDITION-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Allows to define existence dependencies based on the value of  parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONDITION-FORMULA" type="AR:ECUC-CONDITION-FORMULA">
            <xsd:annotation>
               <xsd:documentation>Definition of the formula used to define existence dependencies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionSpecification.conditionFormula";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-QUERYS">
            <xsd:annotation>
               <xsd:documentation>Query to the ECU Configuration Description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionSpecification.ecucQuery";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-QUERY" type="AR:ECUC-QUERY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INFORMAL-FORMULA" type="AR:ML-FORMULA">
            <xsd:annotation>
               <xsd:documentation>Informal description of the condition used to to define existence dependencies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionSpecification.informalFormula";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucConditionSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-CONDITION-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Allows to define existence dependencies based on the value of  parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucConditionSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-CONDITION-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucConfigurationClassAffection -->
   <xsd:group name="ECUC-CONFIGURATION-CLASS-AFFECTION">
      <xsd:annotation>
         <xsd:documentation>Specifies in the "VendorSpecificModuleDefinition" whether changes on this parameter do affect other parameters in a later configuration step.

This element is removed from the specifications and shall not be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucConfigurationClassAffection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AFFECTED-REFS">
            <xsd:annotation>
               <xsd:documentation>Optional reference to parameters or references which are affected by the ConfigurationClassAffection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucConfigurationClassAffection.affected";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AFFECTED-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-COMMON-ATTRIBUTES--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AFFECTION-KIND" type="AR:ECUC-AFFECTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies which affect do changes in this parameter have on other parameters.  This attribute is deprecated and will be removed in future versions.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucConfigurationClassAffection.affectionKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucConfigurationClassAffection -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-CONFIGURATION-CLASS-AFFECTION">
      <xsd:annotation>
         <xsd:documentation>Specifies in the "VendorSpecificModuleDefinition" whether changes on this parameter do affect other parameters in a later configuration step.

This element is removed from the specifications and shall not be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucConfigurationClassAffection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-CONFIGURATION-CLASS-AFFECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucContainerDef -->
   <xsd:group name="ECUC-CONTAINER-DEF">
      <xsd:annotation>
         <xsd:documentation>Base class used to gather common attributes of configuration container definitions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-URI-REFS">
            <xsd:annotation>
               <xsd:documentation>Several destinationUris can be defined for an EcucContainerDef. With such destinationUris an EcucContainerDef is applicable for several EcucUriReferenceDefs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerDef.destinationUri";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DESTINATION-URI-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-DESTINATION-URI-DEF--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTIPLICITY-CONFIG-CLASSES">
            <xsd:annotation>
               <xsd:documentation>Specifies which MultiplicityConfigurationClass this container is available for which ConfigurationVariant. This aggregation is optional if the surrounding EcucModuleDef has the Category STANDARDIZED_MODULE_DEFINITION. If the category attribute of the EcucModuleDef is set to VENDOR_SPECIFIC_MODULE_DEFINITION, then this aggregation is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerDef.multiplicityConfigClass";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="MULTIPLICITY-CONFIG-CLASSES"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-MULTIPLICITY-CONFIGURATION-CLASS" type="AR:ECUC-MULTIPLICITY-CONFIGURATION-CLASS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-CHANGEABLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies if the number of instances of this container may be changed in post-build selectable and post-build loadable time in the ECU Configuration Value Description.

This attribute is only applicable to containers which may appear multiple times in the configuration set, i.e. their upperMultiplicity is greater than lowerMultiplicity and their upperMultiplicity is greater than 1.

If a value of this attribute is not defined in the EcucModuleDef with category STANDARDIZED_MODULE_DEFINITION, it shall be defined in the EcucModuleDef with category VENDOR_SPECIFIC_MODULE_DEFINITION for all containers with upperMultiplicity greater than lowerMultiplicity and upperMultiplicity greater than 1.

This attribute is removed from the specifications and shall not be used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucContainerDef.postBuildChangeable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-MULTIPLICITY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates if a container may have different number of instances in different post-build variants (previously known as post-build selectable configuration sets). TRUE means yes, FALSE means no.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerDef.postBuildVariantMultiplicity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRES-INDEX" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Used to define whether the value element for this definition shall be provided with an index.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerDef.requiresIndex";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ECUC-CONTAINER-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-CHOICE-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-PARAM-CONF-CONTAINER-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCDescriptionTemplate::EcucContainerValue -->
   <xsd:group name="ECUC-CONTAINER-VALUE">
      <xsd:annotation>
         <xsd:documentation>Represents a Container definition in the ECU Configuration Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFINITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the definition of this Container in the ECU Configuration Parameter Definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerValue.definition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-CONTAINER-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-VALUES">
            <xsd:annotation>
               <xsd:documentation>Aggregates all ECU Configuration Values within this Container.

atpVariation: [RS_ECUC_00079]
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="definition, variationPoint.shortLabel";mmt.qualifiedName="EcucContainerValue.parameterValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-ADD-INFO-PARAM-VALUE" type="AR:ECUC-ADD-INFO-PARAM-VALUE"/>
                  <xsd:element name="ECUC-NUMERICAL-PARAM-VALUE" type="AR:ECUC-NUMERICAL-PARAM-VALUE"/>
                  <xsd:element name="ECUC-TEXTUAL-PARAM-VALUE" type="AR:ECUC-TEXTUAL-PARAM-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCE-VALUES">
            <xsd:annotation>
               <xsd:documentation>Aggregates all References with this container.

atpVariation: [RS_ECUC_00079]
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="definition, variationPoint.shortLabel";mmt.qualifiedName="EcucContainerValue.referenceValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-INSTANCE-REFERENCE-VALUE" type="AR:ECUC-INSTANCE-REFERENCE-VALUE"/>
                  <xsd:element name="ECUC-REFERENCE-VALUE" type="AR:ECUC-REFERENCE-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>Aggregates all sub-containers within this container.

atpVariation: [RS_ECUC_00078]
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="definition, shortName, variationPoint.shortLabel";mmt.qualifiedName="EcucContainerValue.subContainer";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CONTAINER-VALUE" type="AR:ECUC-CONTAINER-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerValue.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucContainerValue -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-CONTAINER-VALUE">
      <xsd:annotation>
         <xsd:documentation>Represents a Container definition in the ECU Configuration Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucContainerValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECUC-INDEXABLE-VALUE"/>
         <xsd:group ref="AR:ECUC-CONTAINER-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucDefinitionCollection -->
   <xsd:group name="ECUC-DEFINITION-COLLECTION">
      <xsd:annotation>
         <xsd:documentation>This represents the anchor point of an ECU Configuration Parameter Definition within the AUTOSAR templates structure.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucDefinitionCollections";mmt.qualifiedName="EcucDefinitionCollection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODULE-REFS">
            <xsd:annotation>
               <xsd:documentation>References to  the module definitions of individual software modules.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionCollection.module";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODULE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECUC-MODULE-DEF--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucDefinitionCollection -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-DEFINITION-COLLECTION">
      <xsd:annotation>
         <xsd:documentation>This represents the anchor point of an ECU Configuration Parameter Definition within the AUTOSAR templates structure.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucDefinitionCollections";mmt.qualifiedName="EcucDefinitionCollection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ECUC-DEFINITION-COLLECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucDefinitionElement -->
   <xsd:group name="ECUC-DEFINITION-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Common class used to express the commonalities of configuration parameters, references and containers.
If not stated otherwise the default multiplicity is exactly one mandatory occurrence of the specified element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELATED-TRACE-ITEM-REF">
            <xsd:annotation>
               <xsd:documentation>This contains a sloppy reference to the Autosar compatible identifier of the element (EcucId).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.relatedTraceItem";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRACEABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-VALIDATION-CONDS">
            <xsd:annotation>
               <xsd:documentation>Collection of validation conditions which all need to evaluate to true in order to indicate a valid validation condition of the EcucDefinitionElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.ecucValidationCond";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-VALIDATION-CONDITION" type="AR:ECUC-VALIDATION-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-COND" type="AR:ECUC-CONDITION-SPECIFICATION">
            <xsd:annotation>
               <xsd:documentation>If it evaluates to true the Ecu Parameter definition shall be processed as specified. Otherwise the parameter definition shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.ecucCond";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-MULTIPLICITY" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>The lower multiplicity of the specified element.
0: optional
1: at least one occurrence
n: at least n occurrences

atpVariation: [RS_ECUC_00082]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.lowerMultiplicity";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="codeGenerationTime";xml.sequenceOffset="110"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-MULTIPLICITY" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of the specified element.
0: no occurrence (used for VSMD)
1: at most one occurrence
m: at most m occurrences

If upperMultiplicity is set than upperMultiplicityInfinite shall not be used. 

atpVariation: [RS_ECUC_00082]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.upperMultiplicity";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime";xml.sequenceOffset="120"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-MULTIPLICITY-INFINITE" type="AR:BOOLEAN-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>To express an infinite number of occurrences of this element this attribute has to be set to true. 

If upperMultiplicityInfinite is set than upperMultiplicity shall not be used.

atpVariation: [RS_ECUC_00082]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.upperMultiplicityInfinite";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime";xml.sequenceOffset="130"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCOPE" type="AR:ECUC-SCOPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the scope of this configuration element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDefinitionElement.scope";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="150"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ECUC-DEFINITION-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ADD-INFO-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-BOOLEAN-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-COMMON-ATTRIBUTES"/>
         <xsd:enumeration value="ECUC-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-DEFINITION-ELEMENT"/>
         <xsd:enumeration value="ECUC-ENUMERATION-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FLOAT-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FOREIGN-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-FUNCTION-NAME-DEF"/>
         <xsd:enumeration value="ECUC-INSTANCE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-INTEGER-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-LINKER-SYMBOL-DEF"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="ECUC-MULTILINE-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-PARAM-CONF-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-PARAMETER-DEF"/>
         <xsd:enumeration value="ECUC-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-URI-REFERENCE-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucDerivationSpecification -->
   <xsd:group name="ECUC-DERIVATION-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Allows to define configuration items that are calculated based on the value of
- other parameter values
- elements (attributes/classes) defined in other AUTOSAR templates such as System template and SW component template</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDerivationSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALCULATION-FORMULA" type="AR:ECUC-PARAMETER-DERIVATION-FORMULA">
            <xsd:annotation>
               <xsd:documentation>Definition of the formula used to calculate the value of the configuration element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDerivationSpecification.calculationFormula";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-QUERYS">
            <xsd:annotation>
               <xsd:documentation>Query to the ECU Configuration Description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDerivationSpecification.ecucQuery";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-QUERY" type="AR:ECUC-QUERY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INFORMAL-FORMULA" type="AR:ML-FORMULA">
            <xsd:annotation>
               <xsd:documentation>Informal description of the derivation used to calculate the value of the configuration element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDerivationSpecification.informalFormula";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucDerivationSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-DERIVATION-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Allows to define configuration items that are calculated based on the value of
- other parameter values
- elements (attributes/classes) defined in other AUTOSAR templates such as System template and SW component template</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDerivationSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-DERIVATION-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucDestinationUriDef -->
   <xsd:group name="ECUC-DESTINATION-URI-DEF">
      <xsd:annotation>
         <xsd:documentation>Description of an EcucDestinationUriDef that is used as target of EcucUriReferenceDefs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-URI-POLICY" type="AR:ECUC-DESTINATION-URI-POLICY">
            <xsd:annotation>
               <xsd:documentation>Description of the targeted EcucContainerDef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriDef.destinationUriPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucDestinationUriDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-DESTINATION-URI-DEF">
      <xsd:annotation>
         <xsd:documentation>Description of an EcucDestinationUriDef that is used as target of EcucUriReferenceDefs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECUC-DESTINATION-URI-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-DESTINATION-URI-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucDestinationUriDefSet -->
   <xsd:group name="ECUC-DESTINATION-URI-DEF-SET">
      <xsd:annotation>
         <xsd:documentation>This class represents a list of EcucDestinationUriDefs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucDestinationUriDefSets";mmt.qualifiedName="EcucDestinationUriDefSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-URI-DEFS">
            <xsd:annotation>
               <xsd:documentation>This is one particular EcucDestinationUriDef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriDefSet.destinationUriDef";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-DESTINATION-URI-DEF" type="AR:ECUC-DESTINATION-URI-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucDestinationUriDefSet -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-DESTINATION-URI-DEF-SET">
      <xsd:annotation>
         <xsd:documentation>This class represents a list of EcucDestinationUriDefs.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucDestinationUriDefSets";mmt.qualifiedName="EcucDestinationUriDefSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ECUC-DESTINATION-URI-DEF-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucDestinationUriPolicy -->
   <xsd:group name="ECUC-DESTINATION-URI-POLICY">
      <xsd:annotation>
         <xsd:documentation>The EcucDestinationUriPolicy describes the EcucContainerDef that will be targeted by EcucUriReferenceDefs. The type of the description is dependent of the destinationUriNestingContract attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>Description of the targetContainer in case that the destinationUriNestingPolicy is set to targetContainer. In all other cases the subContainers of the target container are defined here.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriPolicy.container";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CHOICE-CONTAINER-DEF" type="AR:ECUC-CHOICE-CONTAINER-DEF"/>
                  <xsd:element name="ECUC-PARAM-CONF-CONTAINER-DEF" type="AR:ECUC-PARAM-CONF-CONTAINER-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-URI-NESTING-CONTRACT" type="AR:ECUC-DESTINATION-URI-NESTING-CONTRACT-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines how the referenced target EcucContainerDef is described.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriPolicy.destinationUriNestingContract";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETERS">
            <xsd:annotation>
               <xsd:documentation>Description of parameters that are contained in the target container.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriPolicy.parameter";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-ADD-INFO-PARAM-DEF" type="AR:ECUC-ADD-INFO-PARAM-DEF"/>
                  <xsd:element name="ECUC-BOOLEAN-PARAM-DEF" type="AR:ECUC-BOOLEAN-PARAM-DEF"/>
                  <xsd:element name="ECUC-ENUMERATION-PARAM-DEF" type="AR:ECUC-ENUMERATION-PARAM-DEF"/>
                  <xsd:element name="ECUC-FLOAT-PARAM-DEF" type="AR:ECUC-FLOAT-PARAM-DEF"/>
                  <xsd:element name="ECUC-FUNCTION-NAME-DEF" type="AR:ECUC-FUNCTION-NAME-DEF"/>
                  <xsd:element name="ECUC-INTEGER-PARAM-DEF" type="AR:ECUC-INTEGER-PARAM-DEF"/>
                  <xsd:element name="ECUC-LINKER-SYMBOL-DEF" type="AR:ECUC-LINKER-SYMBOL-DEF"/>
                  <xsd:element name="ECUC-MULTILINE-STRING-PARAM-DEF" type="AR:ECUC-MULTILINE-STRING-PARAM-DEF"/>
                  <xsd:element name="ECUC-STRING-PARAM-DEF" type="AR:ECUC-STRING-PARAM-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCES">
            <xsd:annotation>
               <xsd:documentation>Description of references that are contained in the target container.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriPolicy.reference";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CHOICE-REFERENCE-DEF" type="AR:ECUC-CHOICE-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-FOREIGN-REFERENCE-DEF" type="AR:ECUC-FOREIGN-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-INSTANCE-REFERENCE-DEF" type="AR:ECUC-INSTANCE-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-REFERENCE-DEF" type="AR:ECUC-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-SYMBOLIC-NAME-REFERENCE-DEF" type="AR:ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-URI-REFERENCE-DEF" type="AR:ECUC-URI-REFERENCE-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucDestinationUriPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-DESTINATION-URI-POLICY">
      <xsd:annotation>
         <xsd:documentation>The EcucDestinationUriPolicy describes the EcucContainerDef that will be targeted by EcucUriReferenceDefs. The type of the description is dependent of the destinationUriNestingContract attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-DESTINATION-URI-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucEnumerationLiteralDef -->
   <xsd:group name="ECUC-ENUMERATION-LITERAL-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for enumeration literals definition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationLiteralDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-COND" type="AR:ECUC-CONDITION-SPECIFICATION">
            <xsd:annotation>
               <xsd:documentation>If it evaluates to true the literal definition shall be processed as specified. Otherwise the literal definition shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationLiteralDef.ecucCond";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ORIGIN" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>String specifying if this literal is an AUTOSAR standardized literal or if the literal is vendor-specific.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationLiteralDef.origin";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucEnumerationLiteralDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-ENUMERATION-LITERAL-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for enumeration literals definition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationLiteralDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECUC-ENUMERATION-LITERAL-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucEnumerationParamDef -->
   <xsd:group name="ECUC-ENUMERATION-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Enumeration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Default value of the enumeration configuration parameter. This string needs to be one of the literals specified for this enumeration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationParamDef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LITERALS">
            <xsd:annotation>
               <xsd:documentation>Aggregation on the literals used to define this enumeration parameter. 
This aggregation is optional if the surrounding EcucModuleDef has the category STANDARDIZED_MODULE_DEFINITION. If the category attribute of the EcucModuleDef is set to VENDOR_SPECIFIC_MODULE_DEFINITION then this aggregation is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="EcucEnumerationParamDef.literal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-ENUMERATION-LITERAL-DEF" type="AR:ECUC-ENUMERATION-LITERAL-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucEnumerationParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-ENUMERATION-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Enumeration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucEnumerationParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-ENUMERATION-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucFloatParamDef -->
   <xsd:group name="ECUC-FLOAT-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Float.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFloatParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:FLOAT-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Default value of the float configuration parameter.

atpVariation: [RS_ECUC_00083]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucFloatParamDef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>Max value allowed for the parameter defined.

atpVariation: [RS_ECUC_00084]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucFloatParamDef.max";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>Min value allowed for the parameter defined.

atpVariation: [RS_ECUC_00084]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucFloatParamDef.min";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucFloatParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-FLOAT-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Float.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFloatParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-FLOAT-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucForeignReferenceDef -->
   <xsd:group name="ECUC-FOREIGN-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify a reference to an XML description of an entity described in another AUTOSAR template.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucForeignReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-TYPE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>The type in the AUTOSAR Metamodel to which instance this reference is allowed to point to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucForeignReferenceDef.destinationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucForeignReferenceDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-FOREIGN-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify a reference to an XML description of an entity described in another AUTOSAR template.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucForeignReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-FOREIGN-REFERENCE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucFunctionNameDef -->
   <xsd:group name="ECUC-FUNCTION-NAME-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Function Names like those used to specify callback functions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-FUNCTION-NAME-DEF-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDef.EcucFunctionNameDefVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-FUNCTION-NAME-DEF-CONDITIONAL" type="AR:ECUC-FUNCTION-NAME-DEF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucFunctionNameDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-FUNCTION-NAME-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Function Names like those used to specify callback functions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:group ref="AR:ECUC-FUNCTION-NAME-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucFunctionNameDefConditional -->
   <xsd:group name="ECUC-FUNCTION-NAME-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucFunctionNameDefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-FUNCTION-NAME-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-FUNCTION-NAME-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-FUNCTION-NAME-DEF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucFunctionNameDefContent -->
   <xsd:group name="ECUC-FUNCTION-NAME-DEF-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucFunctionNameDefContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucImplementationConfigurationClass -->
   <xsd:group name="ECUC-IMPLEMENTATION-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies which ConfigurationClass this parameter has in the individual ConfigurationVariants.

This element is removed from the specifications and therefore it shall not be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucImplementationConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIG-CLASS" type="AR:ECUC-CONFIGURATION-CLASS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the ConfigurationClass for the given ConfigurationVariant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucImplementationConfigurationClass.configClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIG-VARIANT" type="AR:ECUC-CONFIGURATION-VARIANT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the ConfigurationVariant the ConfigurationClass is specified for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucImplementationConfigurationClass.configVariant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucImplementationConfigurationClass -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-IMPLEMENTATION-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies which ConfigurationClass this parameter has in the individual ConfigurationVariants.

This element is removed from the specifications and therefore it shall not be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucImplementationConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-IMPLEMENTATION-CONFIGURATION-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucIndexableValue -->
   <xsd:group name="ECUC-INDEXABLE-VALUE">
      <xsd:annotation>
         <xsd:documentation>Used to support the specification of ordering of parameter values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucIndexableValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Used to support the specification of ordering of parameter values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucIndexableValue.index";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucInstanceReferenceDef -->
   <xsd:group name="ECUC-INSTANCE-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify a reference to an XML description of an entity described in another AUTOSAR template using the INSTANCE REFERENCE semantics.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-CONTEXT" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>The context in the AUTOSAR Metamodel to which' this reference is allowed to point to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceDef.destinationContext";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-TYPE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>The type in the AUTOSAR Metamodel to which' instance this reference is allowed to point to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceDef.destinationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucInstanceReferenceDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-INSTANCE-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify a reference to an XML description of an entity described in another AUTOSAR template using the INSTANCE REFERENCE semantics.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-INSTANCE-REFERENCE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucInstanceReferenceValue -->
   <xsd:group name="ECUC-INSTANCE-REFERENCE-VALUE">
      <xsd:annotation>
         <xsd:documentation>InstanceReference representation in the ECU Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-IREF" type="AR:ANY-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>InstanceReference representation in the ECU Configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucInstanceReferenceValue -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-INSTANCE-REFERENCE-VALUE">
      <xsd:annotation>
         <xsd:documentation>InstanceReference representation in the ECU Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucInstanceReferenceValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-INDEXABLE-VALUE"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-VALUE"/>
         <xsd:group ref="AR:ECUC-INSTANCE-REFERENCE-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucIntegerParamDef -->
   <xsd:group name="ECUC-INTEGER-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Integer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucIntegerParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:UNLIMITED-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Default value of the integer configuration parameter.

atpVariation: [RS_ECUC_00083]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucIntegerParamDef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:UNLIMITED-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Max value allowed for the parameter defined.

atpVariation: [RS_ECUC_00084]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucIntegerParamDef.max";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:UNLIMITED-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Min value allowed for the parameter defined.

atpVariation: [RS_ECUC_00084]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucIntegerParamDef.min";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucIntegerParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-INTEGER-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Integer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucIntegerParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-INTEGER-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucLinkerSymbolDef -->
   <xsd:group name="ECUC-LINKER-SYMBOL-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Linker Symbol Names like those used to specify memory locations of variables and constants.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-LINKER-SYMBOL-DEF-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDef.EcucLinkerSymbolDefVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-LINKER-SYMBOL-DEF-CONDITIONAL" type="AR:ECUC-LINKER-SYMBOL-DEF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucLinkerSymbolDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-LINKER-SYMBOL-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for Linker Symbol Names like those used to specify memory locations of variables and constants.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:group ref="AR:ECUC-LINKER-SYMBOL-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucLinkerSymbolDefConditional -->
   <xsd:group name="ECUC-LINKER-SYMBOL-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucLinkerSymbolDefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-LINKER-SYMBOL-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-LINKER-SYMBOL-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-LINKER-SYMBOL-DEF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucLinkerSymbolDefContent -->
   <xsd:group name="ECUC-LINKER-SYMBOL-DEF-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucLinkerSymbolDefContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ECUCDescriptionTemplate::EcucModuleConfigurationValues -->
   <xsd:group name="ECUC-MODULE-CONFIGURATION-VALUES">
      <xsd:annotation>
         <xsd:documentation>Head of the configuration of one Module. A Module can be a BSW module as well as the RTE and ECU Infrastructure.

As part of the BSW module description, the EcucModuleConfigurationValues element has two different roles:

The recommendedConfiguration contains parameter values recommended by the BSW module vendor. 

The preconfiguredConfiguration contains values for those parameters which are fixed by the implementation and cannot be changed.

These two EcucModuleConfigurationValues are used when the base EcucModuleConfigurationValues (as part of the base ECU configuration) is created to fill parameters with initial values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucModuleConfigurationValuess";mmt.qualifiedName="EcucModuleConfigurationValues"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFINITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the definition of this EcucModuleConfigurationValues element. Typically, this is a vendor specific module configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues.definition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-MODULE-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-DEF-EDITION" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>This is the version info of the ModuleDef ECUC Parameter definition to which this values conform to / are based on.

For the Definition of ModuleDef ECUC Parameters the AdminData shall be used to express the semantic changes. The compatibility rules between the definition and value revision labels is up to the module's vendor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues.ecucDefEdition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-CONFIG-VARIANT" type="AR:ECUC-CONFIGURATION-VARIANT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the kind of deliverable this EcucModuleConfigurationValues element provides. If this element is not used in a particular role (e.g. preconfiguredConfiguration or recommendedConfiguration) then the value must be one of VariantPreCompile, VariantLinkTime, VariantPostBuild.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues.implementationConfigVariant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODULE-DESCRIPTION-REF">
            <xsd:annotation>
               <xsd:documentation>Referencing the BSW module description, which this EcucModuleConfigurationValues element is configuring. This is optional because the EcucModuleConfigurationValues element is also used to configure the ECU infrastructure (memory map) or Application SW-Cs. However in case the EcucModuleConfigurationValues are used to configure the module, the reference is mandatory in order to fetch module specific "common" published information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues.moduleDescription";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-IMPLEMENTATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>Aggregates all containers that belong to this module configuration.

atpVariation: [RS_ECUC_00078]
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="definition, shortName, variationPoint.shortLabel";mmt.qualifiedName="EcucModuleConfigurationValues.container";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CONTAINER-VALUE" type="AR:ECUC-CONTAINER-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucModuleConfigurationValues -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-MODULE-CONFIGURATION-VALUES">
      <xsd:annotation>
         <xsd:documentation>Head of the configuration of one Module. A Module can be a BSW module as well as the RTE and ECU Infrastructure.

As part of the BSW module description, the EcucModuleConfigurationValues element has two different roles:

The recommendedConfiguration contains parameter values recommended by the BSW module vendor. 

The preconfiguredConfiguration contains values for those parameters which are fixed by the implementation and cannot be changed.

These two EcucModuleConfigurationValues are used when the base EcucModuleConfigurationValues (as part of the base ECU configuration) is created to fill parameters with initial values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucModuleConfigurationValuess";mmt.qualifiedName="EcucModuleConfigurationValues"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ECUC-MODULE-CONFIGURATION-VALUES"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-MODULE-CONFIGURATION-VALUES--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-MODULE-CONFIGURATION-VALUES"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCDescriptionTemplate::EcucModuleConfigurationValuesRefConditional -->
   <xsd:group name="ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-MODULE-CONFIGURATION-VALUES-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-MODULE-CONFIGURATION-VALUES--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValuesRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucModuleConfigurationValuesRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleConfigurationValues"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucModuleDef -->
   <xsd:group name="ECUC-MODULE-DEF">
      <xsd:annotation>
         <xsd:documentation>Used as the top-level element for configuration definition for Software Modules, including BSW and RTE as well as ECU Infrastructure.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucModuleDefs";mmt.qualifiedName="EcucModuleDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="API-SERVICE-PREFIX" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>For CDD modules this attribute holds the apiServicePrefix.

The shortName of the module definition of a Complex Driver is always "Cdd". Therefore for CDD modules the module apiServicePrefix is described with this attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleDef.apiServicePrefix";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-SUPPORT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates if a module supports different post-build variants (previously known as post-build selectable configuration sets). TRUE means yes, FALSE means no.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleDef.postBuildVariantSupport";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFINED-MODULE-DEF-REF">
            <xsd:annotation>
               <xsd:documentation>Optional reference from the Vendor Specific Module Definition to the Standardized Module Definition it refines. 
In case this EcucModuleDef has the category STANDARDIZED_MODULE_DEFINITION 
this reference shall not be provided. In case this EcucModuleDef has the category VENDOR_SPECIFIC_MODULE_DEFINITION this reference is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleDef.refinedModuleDef";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-MODULE-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORTED-CONFIG-VARIANTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUPPORTED-CONFIG-VARIANT" type="AR:ECUC-CONFIGURATION-VARIANT-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>Specifies which ConfigurationVariants are supported by this software module. 
This attribute is optional if the EcucModuleDef has the category STANDARDIZED_MODULE_DEFINITION. If the category attribute of the EcucModuleDef is set to VENDOR_SPECIFIC_MODULE_DEFINITION then this attribute is mandatory.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="EcucModuleDef.supportedConfigVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>Aggregates the top-level container definitions of this specific module definition.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="EcucModuleDef.container";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="11"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CHOICE-CONTAINER-DEF" type="AR:ECUC-CHOICE-CONTAINER-DEF"/>
                  <xsd:element name="ECUC-PARAM-CONF-CONTAINER-DEF" type="AR:ECUC-PARAM-CONF-CONTAINER-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucModuleDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-MODULE-DEF">
      <xsd:annotation>
         <xsd:documentation>Used as the top-level element for configuration definition for Software Modules, including BSW and RTE as well as ECU Infrastructure.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucModuleDefs";mmt.qualifiedName="EcucModuleDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-MODULE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-MODULE-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucMultilineStringParamDef -->
   <xsd:group name="ECUC-MULTILINE-STRING-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for multiline Strings (including "carriage return").</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-MULTILINE-STRING-PARAM-DEF-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDef.EcucMultilineStringParamDefVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-MULTILINE-STRING-PARAM-DEF-CONDITIONAL" type="AR:ECUC-MULTILINE-STRING-PARAM-DEF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucMultilineStringParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-MULTILINE-STRING-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for multiline Strings (including "carriage return").</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:group ref="AR:ECUC-MULTILINE-STRING-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucMultilineStringParamDefConditional -->
   <xsd:group name="ECUC-MULTILINE-STRING-PARAM-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucMultilineStringParamDefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-MULTILINE-STRING-PARAM-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-MULTILINE-STRING-PARAM-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-MULTILINE-STRING-PARAM-DEF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucMultilineStringParamDefContent -->
   <xsd:group name="ECUC-MULTILINE-STRING-PARAM-DEF-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultilineStringParamDefContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucMultiplicityConfigurationClass -->
   <xsd:group name="ECUC-MULTIPLICITY-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies the MultiplicityConfigurationClass of a parameter/reference or a container for each ConfigurationVariant of the EcucModuleDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultiplicityConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucMultiplicityConfigurationClass -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-MULTIPLICITY-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies the MultiplicityConfigurationClass of a parameter/reference or a container for each ConfigurationVariant of the EcucModuleDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucMultiplicityConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-CONFIGURATION-CLASS"/>
         <xsd:group ref="AR:ECUC-MULTIPLICITY-CONFIGURATION-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucNumericalParamValue -->
   <xsd:group name="ECUC-NUMERICAL-PARAM-VALUE">
      <xsd:annotation>
         <xsd:documentation>Holding the value which is subject to variant handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucNumericalParamValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Value which is subject to variant handling.

atpVariation: [RS_ECUC_00080]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucNumericalParamValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucNumericalParamValue -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-NUMERICAL-PARAM-VALUE">
      <xsd:annotation>
         <xsd:documentation>Holding the value which is subject to variant handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucNumericalParamValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-INDEXABLE-VALUE"/>
         <xsd:group ref="AR:ECUC-PARAMETER-VALUE"/>
         <xsd:group ref="AR:ECUC-NUMERICAL-PARAM-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucParamConfContainerDef -->
   <xsd:group name="ECUC-PARAM-CONF-CONTAINER-DEF">
      <xsd:annotation>
         <xsd:documentation>Used to define configuration containers that can hierarchically contain other containers and/or parameter definitions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucParamConfContainerDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTIPLE-CONFIGURATION-CONTAINER" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether this container is used to define multiple configuration sets. Only one container in the whole EcucModuleDef shall have this enabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucParamConfContainerDef.multipleConfigurationContainer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETERS">
            <xsd:annotation>
               <xsd:documentation>The parameters defined within the EcucParamConfContainerDef.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="EcucParamConfContainerDef.parameter";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-ADD-INFO-PARAM-DEF" type="AR:ECUC-ADD-INFO-PARAM-DEF"/>
                  <xsd:element name="ECUC-BOOLEAN-PARAM-DEF" type="AR:ECUC-BOOLEAN-PARAM-DEF"/>
                  <xsd:element name="ECUC-ENUMERATION-PARAM-DEF" type="AR:ECUC-ENUMERATION-PARAM-DEF"/>
                  <xsd:element name="ECUC-FLOAT-PARAM-DEF" type="AR:ECUC-FLOAT-PARAM-DEF"/>
                  <xsd:element name="ECUC-FUNCTION-NAME-DEF" type="AR:ECUC-FUNCTION-NAME-DEF"/>
                  <xsd:element name="ECUC-INTEGER-PARAM-DEF" type="AR:ECUC-INTEGER-PARAM-DEF"/>
                  <xsd:element name="ECUC-LINKER-SYMBOL-DEF" type="AR:ECUC-LINKER-SYMBOL-DEF"/>
                  <xsd:element name="ECUC-MULTILINE-STRING-PARAM-DEF" type="AR:ECUC-MULTILINE-STRING-PARAM-DEF"/>
                  <xsd:element name="ECUC-STRING-PARAM-DEF" type="AR:ECUC-STRING-PARAM-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCES">
            <xsd:annotation>
               <xsd:documentation>The references defined within the EcucParamConfContainerDef.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="EcucParamConfContainerDef.reference";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CHOICE-REFERENCE-DEF" type="AR:ECUC-CHOICE-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-FOREIGN-REFERENCE-DEF" type="AR:ECUC-FOREIGN-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-INSTANCE-REFERENCE-DEF" type="AR:ECUC-INSTANCE-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-REFERENCE-DEF" type="AR:ECUC-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-SYMBOLIC-NAME-REFERENCE-DEF" type="AR:ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
                  <xsd:element name="ECUC-URI-REFERENCE-DEF" type="AR:ECUC-URI-REFERENCE-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>The containers defined within the EcucParamConfContainerDef.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="EcucParamConfContainerDef.subContainer";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-CHOICE-CONTAINER-DEF" type="AR:ECUC-CHOICE-CONTAINER-DEF"/>
                  <xsd:element name="ECUC-PARAM-CONF-CONTAINER-DEF" type="AR:ECUC-PARAM-CONF-CONTAINER-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucParamConfContainerDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-PARAM-CONF-CONTAINER-DEF">
      <xsd:annotation>
         <xsd:documentation>Used to define configuration containers that can hierarchically contain other containers and/or parameter definitions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucParamConfContainerDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-CONTAINER-DEF"/>
         <xsd:group ref="AR:ECUC-PARAM-CONF-CONTAINER-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-PARAM-CONF-CONTAINER-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-PARAM-CONF-CONTAINER-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucParameterDef -->
   <xsd:group name="ECUC-PARAMETER-DEF">
      <xsd:annotation>
         <xsd:documentation>Abstract class used to define the similarities of all ECU Configuration Parameter types defined as subclasses.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DERIVATION" type="AR:ECUC-DERIVATION-SPECIFICATION">
            <xsd:annotation>
               <xsd:documentation>A derivation of a Configuration Parameter value can be specified by an informal Calculation Formula or by a formal language that can be used to specify the computational rules.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDef.derivation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOLIC-NAME-VALUE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies that this parameter's value is used, together with the aggregating container, to derive a symbolic name definition. See chapter "Representation of Symbolic Names" in Ecuc specification for more details.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDef.symbolicNameValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WITH-AUTO" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether it shall be allowed on the value side to specify this parameter value as "AUTO".

If withAuto is "true" it shall be possible to set the "isAutoValue" attribute of the respective parameter to "true". This means that the actual value will not be considered during ECU Configuration but will be (re-)calculated by the code generator and stored in the value attribute afterwards. These implicit updated values might require a re-generation of other modules which reference these values.

If withAuto is "false" it shall not be possible to set the "isAutoValue" attribute of the respective parameter to "true".

If withAuto is not present the default is "false".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDef.withAuto";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="ECUC-PARAMETER-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ADD-INFO-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-BOOLEAN-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ENUMERATION-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FLOAT-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FUNCTION-NAME-DEF"/>
         <xsd:enumeration value="ECUC-INTEGER-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-LINKER-SYMBOL-DEF"/>
         <xsd:enumeration value="ECUC-MULTILINE-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-PARAMETER-DEF"/>
         <xsd:enumeration value="ECUC-STRING-PARAM-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucParameterDerivationFormula -->
   <xsd:group name="ECUC-PARAMETER-DERIVATION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This formula is intended to specify how an ecu parameter can be derived from other information in the Autosar Templates.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDerivationFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="ECUC-QUERY-REF">
               <xsd:annotation>
                  <xsd:documentation>This is one particular EcucQuery used in the calculation formula.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDerivationFormula.ecucQuery";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-QUERY--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="ECUC-QUERY-STRING-REF">
               <xsd:annotation>
                  <xsd:documentation>This indicates that the referenced query shall return a string.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDerivationFormula.ecucQueryString";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-QUERY--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucParameterDerivationFormula -->
   <xsd:complexType abstract="false" mixed="true" name="ECUC-PARAMETER-DERIVATION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This formula is intended to specify how an ecu parameter can be derived from other information in the Autosar Templates.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterDerivationFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DERIVATION-FORMULA"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucParameterValue -->
   <xsd:group name="ECUC-PARAMETER-VALUE">
      <xsd:annotation>
         <xsd:documentation>Common class to all types of configuration values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFINITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the definition of this EcucParameterValue subclasses in the ECU Configuration Parameter Definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterValue.definition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-PARAMETER-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Possibility to provide additional notes while defining the ECU Configuration Parameter Values. These are not intended as documentation but are mere design notes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterValue.annotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANNOTATION" type="AR:ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-AUTO-VALUE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If withAuto is set to "true" for this parameter definition the isAutoValue can be set to "true".
If isAutoValue is set to "true" the actual value will not be considered during ECU Configuration but will be (re-)calculated by the code generator and stored in the value attribute afterwards. These implicit updated values might require a re-generation of other modules which reference these values.

If isAutoValue is not present the default is "false".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterValue.isAutoValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucParameterValue.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucQuery -->
   <xsd:group name="ECUC-QUERY">
      <xsd:annotation>
         <xsd:documentation>Defines a query to the ECUC Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-QUERY-EXPRESSION" type="AR:ECUC-QUERY-EXPRESSION">
            <xsd:annotation>
               <xsd:documentation>This is the EcucQuery used in the calculation formula or the condition formula.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucQuery.ecucQueryExpression";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucQuery -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-QUERY">
      <xsd:annotation>
         <xsd:documentation>Defines a query to the ECUC Description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECUC-QUERY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-QUERY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-QUERY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucQueryExpression -->
   <xsd:group name="ECUC-QUERY-EXPRESSION">
      <xsd:annotation>
         <xsd:documentation>Defines a query expression to the ECUC Description and output the result as an numerical value. Due to the "mixedString" nature of the formula there can be several EcuQueryExpressions used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucQueryExpression"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="CONFIG-ELEMENT-DEF-GLOBAL-REF">
               <xsd:annotation>
                  <xsd:documentation>The EcucQueryExpression points to an EcucDefinitionElement that is used to find an element in the EcucDescription. In order to find the right element in the EcucDescription a search is necessary. If the complete EcucDescription needs to be searched this global reference shall be used. Due to the "mixedString" nature of the EcucQueryExpression several references to EcucDefintionElements can be used in one EcucQueryExpression.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EcucQueryExpression.configElementDefGlobal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
                  <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-DEFINITION-ELEMENT--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="CONFIG-ELEMENT-DEF-LOCAL-REF">
               <xsd:annotation>
                  <xsd:documentation>The EcucQueryExpression points to an EcucDefinitionElement that is used to find an element in the EcucDescription. In order to find the right element in the EcucDescription a search is necessary. If the search is executed inside of the same module that contains the EcucQuery this local reference shall be used. Due to the "mixedString" nature of the EcucQueryExpression several references to EcucDefintionElements can be used in one EcucQueryExpression.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EcucQueryExpression.configElementDefLocal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
                  <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:ECUC-DEFINITION-ELEMENT--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucQueryExpression -->
   <xsd:complexType abstract="false" mixed="true" name="ECUC-QUERY-EXPRESSION">
      <xsd:annotation>
         <xsd:documentation>Defines a query expression to the ECUC Description and output the result as an numerical value. Due to the "mixedString" nature of the formula there can be several EcuQueryExpressions used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucQueryExpression"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-QUERY-EXPRESSION"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucReferenceDef -->
   <xsd:group name="ECUC-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify references within the ECU Configuration Description between parameter containers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-REF">
            <xsd:annotation>
               <xsd:documentation>Exactly one reference to a parameter container is allowed as destination.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucReferenceDef.destination";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-CONTAINER-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucReferenceDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Specify references within the ECU Configuration Description between parameter containers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-REFERENCE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucReferenceValue -->
   <xsd:group name="ECUC-REFERENCE-VALUE">
      <xsd:annotation>
         <xsd:documentation>Used to represent a configuration value that has a parameter definition of type EcucAbstractReferenceDef (used for all of its specializations excluding EcucInstanceReferenceDef).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucReferenceValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the destination of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucReferenceValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucReferenceValue -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-REFERENCE-VALUE">
      <xsd:annotation>
         <xsd:documentation>Used to represent a configuration value that has a parameter definition of type EcucAbstractReferenceDef (used for all of its specializations excluding EcucInstanceReferenceDef).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucReferenceValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-INDEXABLE-VALUE"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-VALUE"/>
         <xsd:group ref="AR:ECUC-REFERENCE-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucStringParamDef -->
   <xsd:group name="ECUC-STRING-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for String.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-STRING-PARAM-DEF-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDef.EcucStringParamDefVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-STRING-PARAM-DEF-CONDITIONAL" type="AR:ECUC-STRING-PARAM-DEF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucStringParamDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-STRING-PARAM-DEF">
      <xsd:annotation>
         <xsd:documentation>Configuration parameter type for String.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDef";xml.sequenceOffset="0"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-PARAMETER-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:group ref="AR:ECUC-STRING-PARAM-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucStringParamDefConditional -->
   <xsd:group name="ECUC-STRING-PARAM-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucStringParamDefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-STRING-PARAM-DEF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDefConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-STRING-PARAM-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-STRING-PARAM-DEF-CONTENT"/>
         <xsd:group ref="AR:ECUC-STRING-PARAM-DEF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucStringParamDefContent -->
   <xsd:group name="ECUC-STRING-PARAM-DEF-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucStringParamDefContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ECUCParameterDefTemplate::EcucSymbolicNameReferenceDef -->
   <xsd:group name="ECUC-SYMBOLIC-NAME-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies that the implementation of the reference is done using a symbolic name defined by the referenced Container's shortName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucSymbolicNameReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-REF">
            <xsd:annotation>
               <xsd:documentation>Exactly one reference to a parameter container is allowed as destination.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucSymbolicNameReferenceDef.destination";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-PARAM-CONF-CONTAINER-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucSymbolicNameReferenceDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-SYMBOLIC-NAME-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies that the implementation of the reference is done using a symbolic name defined by the referenced Container's shortName.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucSymbolicNameReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucTextualParamValue -->
   <xsd:group name="ECUC-TEXTUAL-PARAM-VALUE">
      <xsd:annotation>
         <xsd:documentation>Holding a value which is not subject to variation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucTextualParamValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:VERBATIM-STRING">
            <xsd:annotation>
               <xsd:documentation>Value of the parameter, not subject to variant handling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucTextualParamValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucTextualParamValue -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-TEXTUAL-PARAM-VALUE">
      <xsd:annotation>
         <xsd:documentation>Holding a value which is not subject to variation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucTextualParamValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-INDEXABLE-VALUE"/>
         <xsd:group ref="AR:ECUC-PARAMETER-VALUE"/>
         <xsd:group ref="AR:ECUC-TEXTUAL-PARAM-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucUriReferenceDef -->
   <xsd:group name="ECUC-URI-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Definition of reference with a destination that is specified via a destinationUri. With such a reference it is possible to define a reference to a EcucContainerDef in a different module independent from the concrete definition of the target container.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucUriReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESTINATION-URI-REF">
            <xsd:annotation>
               <xsd:documentation>Any EcucContainerDef with a destinationUri that is identical to the destinationUri that is referenced here defines a valid target.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucUriReferenceDef.destinationUri";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECUC-DESTINATION-URI-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucUriReferenceDef -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-URI-REFERENCE-DEF">
      <xsd:annotation>
         <xsd:documentation>Definition of reference with a destination that is specified via a destinationUri. With such a reference it is possible to define a reference to a EcucContainerDef in a different module independent from the concrete definition of the target container.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucUriReferenceDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:ECUC-DEFINITION-ELEMENT"/>
         <xsd:group ref="AR:ECUC-COMMON-ATTRIBUTES"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:group ref="AR:ECUC-URI-REFERENCE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCParameterDefTemplate::EcucValidationCondition -->
   <xsd:group name="ECUC-VALIDATION-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Validation condition to perform a formula calculation based on EcucQueries.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucValidationCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-QUERYS">
            <xsd:annotation>
               <xsd:documentation>Query to the ECU Configuration Description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucValidationCondition.ecucQuery";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-QUERY" type="AR:ECUC-QUERY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALIDATION-FORMULA" type="AR:ECUC-CONDITION-FORMULA">
            <xsd:annotation>
               <xsd:documentation>Definition of the formula used to define validation condition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucValidationCondition.validationFormula";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucValidationCondition -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-VALIDATION-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Validation condition to perform a formula calculation based on EcucQueries.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucValidationCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ECUC-VALIDATION-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ECUCDescriptionTemplate::EcucValueCollection -->
   <xsd:group name="ECUC-VALUE-COLLECTION">
      <xsd:annotation>
         <xsd:documentation>This represents the anchor point of the ECU configuration description.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucValueCollections";mmt.qualifiedName="EcucValueCollection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-EXTRACT-REF">
            <xsd:annotation>
               <xsd:documentation>Represents the extract of the System Configuration that is relevant for the ECU configured with that ECU Configuration Description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucValueCollection.ecuExtract";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECUC-VALUES">
            <xsd:annotation>
               <xsd:documentation>References to the configuration of individual software modules that are present on this ECU.

atpVariation: [RS_ECUC_0079]
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EcucValueCollection.ecucValue";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL" type="AR:ECUC-MODULE-CONFIGURATION-VALUES-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUCDescriptionTemplate::EcucValueCollection -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-VALUE-COLLECTION">
      <xsd:annotation>
         <xsd:documentation>This represents the anchor point of the ECU configuration description.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EcucValueCollections";mmt.qualifiedName="EcucValueCollection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ECUC-VALUE-COLLECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-VALUE-COLLECTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECUC-VALUE-COLLECTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ECUCParameterDefTemplate::EcucValueConfigurationClass -->
   <xsd:group name="ECUC-VALUE-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies the ValueConfigurationClass of a parameter/reference for each ConfigurationVariant of the EcucModuleDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucValueConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ECUCParameterDefTemplate::EcucValueConfigurationClass -->
   <xsd:complexType abstract="false" mixed="false" name="ECUC-VALUE-CONFIGURATION-CLASS">
      <xsd:annotation>
         <xsd:documentation>Specifies the ValueConfigurationClass of a parameter/reference for each ConfigurationVariant of the EcucModuleDef.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucValueConfigurationClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ECUC-ABSTRACT-CONFIGURATION-CLASS"/>
         <xsd:group ref="AR:ECUC-VALUE-CONFIGURATION-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::EmphasisText -->
   <xsd:group name="EMPHASIS-TEXT">
      <xsd:annotation>
         <xsd:documentation>This is an emphasized text. As a compromise it contains some rendering oriented attributes such as color and font.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="SUB" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>this is subscript text</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText.sub";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUP" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is superscript text</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText.sup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="TT" type="AR:TT">
               <xsd:annotation>
                  <xsd:documentation>This is a technical term.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText.tt";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- attribute group for class InlineTextElements::EmphasisText -->
   <xsd:attributeGroup name="EMPHASIS-TEXT">
      <xsd:annotation>
         <xsd:documentation>This is an emphasized text. As a compromise it contains some rendering oriented attributes such as color and font.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="COLOR" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This allows to recommend a color of the emphasis. It is specified bases on 6 digits RGB hex-code.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText.color";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="FONT" type="AR:E-ENUM-FONT--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies the font style in which the emphasized text shall be rendered.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText.font";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="TYPE" type="AR:E-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates how the text may be emphasized. Note that this is only a proposal which can be overridden or ignored by particular formatting engines. Default is BOLD.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText.type";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class InlineTextElements::EmphasisText -->
   <xsd:complexType abstract="false" mixed="true" name="EMPHASIS-TEXT">
      <xsd:annotation>
         <xsd:documentation>This is an emphasized text. As a compromise it contains some rendering oriented attributes such as color and font.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EmphasisText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:EMPHASIS-TEXT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:EMPHASIS-TEXT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::EmptySignalMapping -->
   <xsd:group name="EMPTY-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If no actual data is configured for a client server communication the element EmptySignalMapping shall be used. 
An EmptySignalMapping shall only reference a SystemSignal that is referenced by an ISignal with length equal to zero. In this case there shall be an "update-bit" configured. The EmptySignal can be mapped to the response group or to request group.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EmptySignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a SystemSignal with "signalLength" = 0 and an UpdateBit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EmptySignalMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::EmptySignalMapping -->
   <xsd:complexType abstract="false" mixed="false" name="EMPTY-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If no actual data is configured for a client server communication the element EmptySignalMapping shall be used. 
An EmptySignalMapping shall only reference a SystemSignal that is referenced by an ISignal with length equal to zero. In this case there shall be an "update-bit" configured. The EmptySignal can be mapped to the response group or to request group.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EmptySignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:EMPTY-SIGNAL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EndToEndProtection::EndToEndDescription -->
   <xsd:group name="END-TO-END-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains information about end-to-end protection. The set of applicable attributes depends on the actual value of the category attribute of EndToEndProtection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>The category represents the identification of the concrete E2E profile. The applicable values are specified in a semantic constraint and determine the applicable attributes of EndToEndDescription.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-ID" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>This represents a unique numerical identifier. 
Note: ID is used for protection against masquerading. The details concerning the maximum number of values (this information is specific for each E2E profile) applicable for this attribute are controlled by a semantic constraint that depends on the category of the EndToEndProtection.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.dataId";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-90"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ID-MODE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>There are three inclusion modes how the implicit two-byte Data ID is included in the one-byte CRC:

* dataIDMode = 0: Two bytes are included in the CRC (double ID configuration) This is used in variant 1A.
* dataIDMode = 1: One of the two bytes byte is included, alternating high and low byte, depending on parity of the counter (alternating ID configuration). For even counter low byte is included; For odd counters the high byte is included. This is used in variant 1B.
* dataIDMode = 2: Only low byte is included, high byte is never used. This is applicable if the IDs in a particular system are 8 bits.
* dataIdMode = 3: The low byte is included in the implicit CRC calculation, the low nibble of the high byte is transmitted along with the data (i.e. it is explicitly included), the high nibble of the high byte is not used. This is applicable for the IDs up to 12 bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.dataIdMode";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-85"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the length of the Array representation of the Signal Group/VariableDataPrototype including CRC and Counter in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.dataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DELTA-COUNTER-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Initial maximum allowed gap between two counter values of two consecutively received valid Data, i.e. how many subsequent lost data is accepted. For example, if the receiver gets Data with counter 1 and MaxDeltaCounterInit is 1, then at the next reception the receiver can accept Counters with values 2 and 3, but not 4.

Note that if the receiver does not receive new Data at a consecutive read, then the receiver increments the tolerance by 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.maxDeltaCounterInit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit offset of CRC from the beginning of the Array representation of the Signal Group/VariableDataPrototype (MSB order, bit numbering: bit 0 is the least important). The offset shall be a multiplicity of 8 and it should be 0 whenever possible. For example, offset 8 means that the CRC will take the byte 1, i.e. bits 8..15. If crcOffset is not present the value is defined by the selected profile.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.crcOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit offset of Counter from the beginning of the Array representation of the Signal Group/VariableDataPrototype (MSB order, bit numbering: bit 0 is the least important). The offset shall be a multiplicity of 4 and it should be 8 whenever possible. For example, offset 8 means that the counter will take the low nibble of the byte 1, i.e. bits 8 .. 11. If counterOffset is not present the value is defined by the selected profile.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.counterOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NO-NEW-OR-REPEATED-DATA" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum amount of missing or repeated Data which the receiver does not expect to exceed under normal communication conditions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.maxNoNewOrRepeatedData";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-COUNTER-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of Data required for validating the consistency of the counter that shall be received with a valid counter 
(i.e. counter within the allowed lock-in range) after the detection of an unexpected behavior of a received counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.syncCounterInit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ID-NIBBLE-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit offset of the low nibble of the high byte of Data ID. The applicability of this attribute is controlled by [constr_1261].</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription.dataIdNibbleOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-25"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EndToEndProtection::EndToEndDescription -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains information about end-to-end protection. The set of applicable attributes depends on the actual value of the category attribute of EndToEndProtection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:END-TO-END-DESCRIPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EndToEndProtection::EndToEndProtection -->
   <xsd:group name="END-TO-END-PROTECTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a particular end to end protection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="END-TO-END-PROFILE" type="AR:END-TO-END-DESCRIPTION">
            <xsd:annotation>
               <xsd:documentation>This represents the particular EndToEndDescription.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="endToEndProfile";mmt.qualifiedName="EndToEndProtection.endToEndProfile";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="END-TO-END-PROTECTION-I-SIGNAL-I-PDUS">
            <xsd:annotation>
               <xsd:documentation>Defines to which ISignalIPdu - ISignalGroup pair this EndToEndProtection shall apply.

In case several ISignalGroups are used to transport the data (e.g. fan-out in the RTE) there may exist several EndToEndProtectionISignalIPdu definitions.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="variationPoint.shortLabel";mmt.qualifiedName="EndToEndProtection.endToEndProtectionISignalIPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-PROTECTION-I-SIGNAL-I-PDU" type="AR:END-TO-END-PROTECTION-I-SIGNAL-I-PDU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="END-TO-END-PROTECTION-VARIABLE-PROTOTYPES">
            <xsd:annotation>
               <xsd:documentation>Defines to which VariableDataPrototypes in the roles of one sender and one or more receivers this EndToEndprotection applies.

It shall be possible to aggregate several EndToEndProtectionVariablePrototype in case additional hierarchical decompositions are introduced subsequently. In this case one particular PortPrototype is split into multiple PortPrototypes and connectors, all representing the same data entity.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortLabel, variationPoint.shortLabel";mmt.qualifiedName="EndToEndProtection.endToEndProtectionVariablePrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-PROTECTION-VARIABLE-PROTOTYPE" type="AR:END-TO-END-PROTECTION-VARIABLE-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EndToEndProtection::EndToEndProtection -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-PROTECTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a particular end to end protection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:END-TO-END-PROTECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EndToEndProtection::EndToEndProtectionISignalIPdu -->
   <xsd:group name="END-TO-END-PROTECTION-I-SIGNAL-I-PDU">
      <xsd:annotation>
         <xsd:documentation>It is possible to protect the inter-ECU data exchange of safety-related ISignalGroups at the level of COM IPdus using protection mechanisms provided by E2E Library. For each ISignalGroup to be protected, a separate EndToEndProtectionISignalIPdu element shall be created within the EndToEndProtectionSet. 

The EndToEndProtectionISignalIPdu element refers to the ISignalGroup that is to be protected and to the ISignalIPdu that transmits the protected ISignalGroup. The information how the referenced ISignalGroup shall be protected (through which E2E Profile and with which E2E settings) is defined in the EndToEndDescription element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionISignalIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-OFFSET" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the beginning offset (in bits) of the Array representation of the Signal Group (including CRC, counter and application
signal group) in the IPdu. This attribute is mandatory and the dataOffset shall always be defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionISignalIPdu.dataOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the ISignalGroup that is to be protected.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionISignalIPdu.iSignalGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the ISignalIPdu that transmits the protected ISignalGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionISignalIPdu.iSignalIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionISignalIPdu.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EndToEndProtection::EndToEndProtectionISignalIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-PROTECTION-I-SIGNAL-I-PDU">
      <xsd:annotation>
         <xsd:documentation>It is possible to protect the inter-ECU data exchange of safety-related ISignalGroups at the level of COM IPdus using protection mechanisms provided by E2E Library. For each ISignalGroup to be protected, a separate EndToEndProtectionISignalIPdu element shall be created within the EndToEndProtectionSet. 

The EndToEndProtectionISignalIPdu element refers to the ISignalGroup that is to be protected and to the ISignalIPdu that transmits the protected ISignalGroup. The information how the referenced ISignalGroup shall be protected (through which E2E Profile and with which E2E settings) is defined in the EndToEndDescription element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionISignalIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:END-TO-END-PROTECTION-I-SIGNAL-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EndToEndProtection::EndToEndProtectionSet -->
   <xsd:group name="END-TO-END-PROTECTION-SET">
      <xsd:annotation>
         <xsd:documentation>This represents a container for collection EndToEndProtectionInformation.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EndToEndProtectionSets";mmt.qualifiedName="EndToEndProtectionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="END-TO-END-PROTECTIONS">
            <xsd:annotation>
               <xsd:documentation>This is one particular EndToEndProtection.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="EndToEndProtectionSet.endToEndProtection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-PROTECTION" type="AR:END-TO-END-PROTECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EndToEndProtection::EndToEndProtectionSet -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-PROTECTION-SET">
      <xsd:annotation>
         <xsd:documentation>This represents a container for collection EndToEndProtectionInformation.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EndToEndProtectionSets";mmt.qualifiedName="EndToEndProtectionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:END-TO-END-PROTECTION-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EndToEndProtection::EndToEndProtectionVariablePrototype -->
   <xsd:group name="END-TO-END-PROTECTION-VARIABLE-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>It is possible to protect the data exchanged between software components. For this purpose, for each communication to be protected,  the user defines a separate EndToEndProtection (specifying a set of protection settings) and refers to a variableDataPrototype in the role of sender and to one or many variableDataPrototypes in the role of receiver. For details, see EndToEnd Library.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionVariablePrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVER-IREFS">
            <xsd:annotation>
               <xsd:documentation>This represents the receiver. Note that 1:n communication is supported for this use case.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionVariablePrototype.receiver";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECEIVER-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SENDER-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the sender.

Can be optional if an ecu extract is provided and the sender is part of the extract.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionVariablePrototype.sender";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This serves as part of the split key in case of more than one EndToEndProtectionVariablePrototype is aggregated in the bound model.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionVariablePrototype.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionVariablePrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EndToEndProtection::EndToEndProtectionVariablePrototype -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-PROTECTION-VARIABLE-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>It is possible to protect the data exchanged between software components. For this purpose, for each communication to be protected,  the user defines a separate EndToEndProtection (specifying a set of protection settings) and refers to a variableDataPrototype in the role of sender and to one or many variableDataPrototypes in the role of receiver. For details, see EndToEnd Library.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProtectionVariablePrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:END-TO-END-PROTECTION-VARIABLE-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::EndToEndTransformationComSpecProps -->
   <xsd:group name="END-TO-END-TRANSFORMATION-COM-SPEC-PROPS">
      <xsd:annotation>
         <xsd:documentation>The class EndToEndTransformationIComSpecProps specifies port specific
configuration properties for EndToEnd transformer attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISABLE-END-TO-END-CHECK" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Disables/Enables the E2E check. The E2Eheader is removed from the payload independent from the setting of this attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.disableEndToEndCheck";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DELTA-COUNTER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum allowed gap between two counter values of two consecutive checks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.maxDeltaCounter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ERROR-STATE-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximal number of checks in which ProfileStatus equal to E2E_P_ERROR was determined, within the last WindowSize checks, for the state E2E_SM_INIT.

The minimum value is 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.maxErrorStateInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ERROR-STATE-INVALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximal number of checks in which ProfileStatus equal to E2E_P_ERROR was determined, within the last WindowSize checks, for the state E2E_SM_INVALID.

The minimum value is 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.maxErrorStateInvalid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ERROR-STATE-VALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximal number of checks in which ProfileStatus equal to E2E_P_ERROR was determined, within the last WindowSize checks, for the state E2E_SM_VALID.

The minimum value is 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.maxErrorStateValid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NO-NEW-OR-REPEATED-DATA" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>EndToEndTransformationDescription holds these attributes which are profile specific and have the same value for all E2E transformers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.maxNoNewOrRepeatedData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-OK-STATE-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimal number of checks in which ProfileStatus equal to E2E_P_OK was determined, within the last WindowSize checks, for the state E2E_SM_INIT.

The minimum value is 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.minOkStateInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-OK-STATE-INVALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimal number of checks in which ProfileStatus equal to E2E_P_OK was determined, within the last WindowSize checks, for the state E2E_SM_INVALID.

The minimum value is 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.minOkStateInvalid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-OK-STATE-VALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimal number of checks in which ProfileStatus equal to E2E_P_OK was determined, within the last WindowSize checks, for the state E2E_SM_VALID.

The minimum value is 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.minOkStateValid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-COUNTER-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>EndToEndTransformationDescription holds these attributes which are profile specific and have the same value for all E2E transformers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.syncCounterInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WINDOW-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Size of the monitoring window for the E2E state machine.

The meaning is the number of correct cycles (E2E_P_OK) that are required in E2E_SM_INITCOM before the transition to E2E_SM_VALID. 

The minimum allowed value is 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps.windowSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::EndToEndTransformationComSpecProps -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-TRANSFORMATION-COM-SPEC-PROPS">
      <xsd:annotation>
         <xsd:documentation>The class EndToEndTransformationIComSpecProps specifies port specific
configuration properties for EndToEnd transformer attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationComSpecProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-COM-SPEC-PROPS"/>
         <xsd:group ref="AR:END-TO-END-TRANSFORMATION-COM-SPEC-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::EndToEndTransformationDescription -->
   <xsd:group name="END-TO-END-TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>EndToEndTransformationDescription holds these attributes which are profile specific and have the same value for all E2E transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUNTER-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Offset of the counter in the Data[] array in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.counterOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Offset of the CRC in the Data[] array in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.crcOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ID-MODE" type="AR:DATA-ID-MODE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the inclusion mode that is used to include the implicit two-byte Data ID in the one-byte CRC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.dataIdMode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ID-NIBBLE-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Offset of the Data ID nibble in the Data[] array in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.dataIdNibbleOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DELTA-COUNTER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum allowed gap between two counter values of two consecutive checks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.maxDeltaCounter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ERROR-STATE-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximal number of checks in which ProfileStatus equal to E2E_P_ERROR was determined, within the last WindowSize checks, for the state E2E_SM_INIT.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.maxErrorStateInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ERROR-STATE-INVALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximal number of checks in which ProfileStatus equal to E2E_P_ERROR was determined, within the last WindowSize checks, for the state E2E_SM_INVALID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.maxErrorStateInvalid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ERROR-STATE-VALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximal number of checks in which ProfileStatus equal to E2E_P_ERROR was determined, within the last WindowSize checks, for the state E2E_SM_VALID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.maxErrorStateValid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NO-NEW-OR-REPEATED-DATA" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum allowed amount of consecutive failed counter checks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.maxNoNewOrRepeatedData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-OK-STATE-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimal number of checks in which ProfileStatus equal to E2E_P_OK was determined, within the last WindowSize checks, for the state E2E_SM_INIT.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.minOkStateInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-OK-STATE-INVALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimal number of checks in which ProfileStatus equal to E2E_P_OK was determined, within the last WindowSize checks, for the state E2E_SM_INVALID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.minOkStateInvalid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-OK-STATE-VALID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimal number of checks in which ProfileStatus equal to E2E_P_OK was determined, within the last WindowSize checks, for the state E2E_SM_VALID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.minOkStateValid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Offset of the E2E header in the Data[] array in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.offset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROFILE-BEHAVIOR" type="AR:END-TO-END-PROFILE-BEHAVIOR-ENUM">
            <xsd:annotation>
               <xsd:documentation>Behavior of the check functionality</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.profileBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROFILE-NAME" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>Definition of the E2E profile.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.profileName";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-COUNTER-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of checks required for validating the consistency of the counter that must be received with a valid counter (i.e. counter within the allowed lock-in range) after the detection of an unexpected behavior of a received counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.syncCounterInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-HEADER-BITS-TO-SHIFT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the number of upper-header bits to be shifted.

value = 0 or not present: shift of upper header is NOT performed.

value &gt; 0: the E2E Transformer on the protect-side, takes the first upperHeaderBitsToShift bits from the upper buffer (e.g. SOME/IP header part generated by SOME/IP transformer) and shifts them towards the lower bytes and bits within the Data[] for the length of the E2E header (e.g. 12 bytes in case of E2E Profile 4). This means the shift distance is fixed - it depends on the E2E header size - what is configured here is the number of bits that are to be shifted. This option is defined because the Some/IP header generated by SOME/IP transformer must be, due to compatibility between non-protected and E2E-protected communication, at the same position, which is before E2E header.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.upperHeaderBitsToShift";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WINDOW-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Size of the monitoring window for the E2E state machine.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription.windowSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::EndToEndTransformationDescription -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>EndToEndTransformationDescription holds these attributes which are profile specific and have the same value for all E2E transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-DESCRIPTION"/>
         <xsd:group ref="AR:END-TO-END-TRANSFORMATION-DESCRIPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::EndToEndTransformationISignalProps -->
   <xsd:group name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>Holds all the ISignal specific attributes for the EndToEndTransformer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps.EndToEndTransformationISignalPropsVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL" type="AR:END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::EndToEndTransformationISignalProps -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>Holds all the ISignal specific attributes for the EndToEndTransformer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-I-SIGNAL-PROPS"/>
         <xsd:group ref="AR:END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::EndToEndTransformationISignalPropsConditional -->
   <xsd:group name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalPropsConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::EndToEndTransformationISignalPropsConditional -->
   <xsd:complexType abstract="false" mixed="false" name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSFORMATION-I-SIGNAL-PROPS-CONTENT"/>
         <xsd:group ref="AR:END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONTENT"/>
         <xsd:group ref="AR:END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::EndToEndTransformationISignalPropsContent -->
   <xsd:group name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalPropsContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-IDS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-ID" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>This represents a unique numerical identifier. 
Note: ID is used for protection against masquerading. The details concerning the maximum number of values (this information is specific for each E2E profile) applicable for this attribute are controlled by a semantic constraint that depends on the category of the EndToEndProtection.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps.dataId";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of Data in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps.dataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum length of Data in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps.maxDataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimum length of Data in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndTransformationISignalProps.minDataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class EngineeringObject::EngineeringObject -->
   <xsd:group name="ENGINEERING-OBJECT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an engineering object. Usually such an object is represented by a file artifact. The properties of engineering object are such that the artifact can be found  by querying an ASAM catalog file.

The engineering object is uniquely identified by domain+category+shortLabel+revisionLabel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EngineeringObject"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This is the short name of the engineering object. Note that it is modeled as NameToken and not as Identifier since in ASAM-CC it is also a NameToken.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EngineeringObject.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This denotes the role of the engineering object in the development cycle. 
Categories are such as

* SWSRC for source code
* SWOBJ for object code
* SWHDR for a C-header file

Further roles need to be defined via Methodology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EngineeringObject.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REVISION-LABELS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="REVISION-LABEL" type="AR:REVISION-LABEL-STRING">
                     <xsd:annotation>
                        <xsd:documentation>This is a revision label denoting a particular version of the engineering object.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="EngineeringObject.revisionLabel";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DOMAIN" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This denotes the domain in which the engineering object is stored. This allows to indicate various segments in the repository keeping the engineering objects. The domain may segregate companies, as well as automotive domains. Details need to be defined by the Methodology.

Attribute is optional to support a default domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EngineeringObject.domain";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class OasisExchangeTable::Entry -->
   <xsd:group name="ENTRY">
      <xsd:annotation>
         <xsd:documentation>This represents one particular table cell.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Entry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BGCOLOR" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute is removed and left in for backward compatibility. Use bgcolor instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="Entry.bgcolorRemoved";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.name="BGCOLOR";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class OasisExchangeTable::Entry -->
   <xsd:attributeGroup name="ENTRY">
      <xsd:annotation>
         <xsd:documentation>This represents one particular table cell.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Entry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ALIGN" type="AR:ALIGN-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies how the cell ENTRY shall be horizontally aligned.  Default is "LEFT"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.align";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="BGCOLOR" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This allows to recommend a background color of the entry. It is specified bases on 6 digits RGB hex-code.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.bgcolor";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLNAME" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicate the name of the column, where the entry should appear.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.colname";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates whether a line should be displayed end of this entry.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.colsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="MOREROWS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Number of additional rows. Default is "0"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.morerows";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="NAMEEND" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>When an entry spans multiple column this is the name of the last column.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.nameend";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="NAMEST" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>When an entry spans multiple column this is the name of the first column.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.namest";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ROTATE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the cellcontent shall be rotated. Default is 0; 1 would rotate the contents 90 degree counterclockwise. This attribute is defined by OASIS.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.rotate";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ROWSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates whether a line should be displayed at the bottom end of the cell.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.rowsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SPANNAME" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Capture the name of entry merging multiple columns.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.spanname";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="VALIGN" type="AR:VALIGN-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates how the content of the cell shall be aligned. Default is inherited from row or tbody, otherwise "TOP"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Entry.valign";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class OasisExchangeTable::Entry -->
   <xsd:complexType abstract="false" mixed="false" name="ENTRY">
      <xsd:annotation>
         <xsd:documentation>This represents one particular table cell.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Entry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ENTRY"/>
   </xsd:complexType>
   <!-- element group for class AttributeValueVariationPoints::EnumerationMappingEntry -->
   <xsd:group name="ENUMERATION-MAPPING-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This class specifies the entry elements of the enumeration mapping table.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EnumerationMappingEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUMERICAL-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the numerical value (e.g. 0, 1) of the enumeration entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EnumerationMappingEntry.numericalValue";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENUMERATOR-VALUE" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the symbolic value (e.g. in, out) of the enumeration entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EnumerationMappingEntry.enumeratorValue";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::EnumerationMappingEntry -->
   <xsd:complexType abstract="false" mixed="false" name="ENUMERATION-MAPPING-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This class specifies the entry elements of the enumeration mapping table.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EnumerationMappingEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ENUMERATION-MAPPING-ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AttributeValueVariationPoints::EnumerationMappingTable -->
   <xsd:group name="ENUMERATION-MAPPING-TABLE">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Enumeration attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EnumerationMappingTables";mmt.qualifiedName="EnumerationMappingTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENTRYS">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EnumerationMappingTable.entry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ENTRY" type="AR:ENUMERATION-MAPPING-ENTRY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::EnumerationMappingTable -->
   <xsd:complexType abstract="false" mixed="false" name="ENUMERATION-MAPPING-TABLE">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Enumeration attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EnumerationMappingTables";mmt.qualifiedName="EnumerationMappingTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:ENUMERATION-MAPPING-TABLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ErrorTracerNeeds -->
   <xsd:group name="ERROR-TRACER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the need to report failures to the error tracer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ErrorTracerNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRACED-FAILURES">
            <xsd:annotation>
               <xsd:documentation>list of traced failures
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ErrorTracerNeeds.tracedFailure";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DEVELOPMENT-ERROR" type="AR:DEVELOPMENT-ERROR"/>
                  <xsd:element name="RUNTIME-ERROR" type="AR:RUNTIME-ERROR"/>
                  <xsd:element name="TRANSIENT-FAULT" type="AR:TRANSIENT-FAULT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ErrorTracerNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="ERROR-TRACER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the need to report failures to the error tracer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ErrorTracerNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:ERROR-TRACER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ETH::EthGlobalTimeDomainProps -->
   <xsd:group name="ETH-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>Enables the definition of Ethernet Global Time specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUP-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="FUP-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for FUP messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeDomainProps.fupDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MANAGED-COUPLING-PORTS">
            <xsd:annotation>
               <xsd:documentation>Collection of CouplingPorts which are managed in the scope of this Ethernet GlobalTimeDomain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeDomainProps.managedCouplingPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ETH-GLOBAL-TIME-MANAGED-COUPLING-PORT" type="AR:ETH-GLOBAL-TIME-MANAGED-COUPLING-PORT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-COMPLIANCE" type="AR:ETH-GLOBAL-TIME-MESSAGE-FORMAT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the compliance of the Ethernet time sync messages to specific standards.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeDomainProps.messageCompliance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN-PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines which VLAN priority shall be assigned to a time sync message in case the message is sent using a VLAN tag.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeDomainProps.vlanPriority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ETH::EthGlobalTimeDomainProps -->
   <xsd:complexType abstract="false" mixed="false" name="ETH-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>Enables the definition of Ethernet Global Time specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-GLOBAL-TIME-DOMAIN-PROPS"/>
         <xsd:group ref="AR:ETH-GLOBAL-TIME-DOMAIN-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ETH::EthGlobalTimeManagedCouplingPort -->
   <xsd:group name="ETH-GLOBAL-TIME-MANAGED-COUPLING-PORT">
      <xsd:annotation>
         <xsd:documentation>Specifies a CouplingPort which is managed by an Ethernet Global Time Domain.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeManagedCouplingPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Defines which CouplingPort is managed by this EthGlobalTimeManagedCouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeManagedCouplingPort.couplingPort";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COUPLING-PORT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDELAY-REQUEST-PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the period for the pdelay request messages.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeManagedCouplingPort.pdelayRequestPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDELAY-RESPONSE-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether PDELAY RESPONSE and PDELAY RESPONSE FOLLOW UP shall be sent on this CouplingPort.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeManagedCouplingPort.pdelayResponseEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ETH::EthGlobalTimeManagedCouplingPort -->
   <xsd:complexType abstract="false" mixed="false" name="ETH-GLOBAL-TIME-MANAGED-COUPLING-PORT">
      <xsd:annotation>
         <xsd:documentation>Specifies a CouplingPort which is managed by an Ethernet Global Time Domain.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeManagedCouplingPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ETH-GLOBAL-TIME-MANAGED-COUPLING-PORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::EthernetCluster -->
   <xsd:group name="ETHERNET-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Ethernet-specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="EthernetCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ETHERNET-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCluster.EthernetClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ETHERNET-CLUSTER-CONDITIONAL" type="AR:ETHERNET-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetCluster -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Ethernet-specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="EthernetCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:ETHERNET-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ETHERNET-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::EthernetClusterConditional -->
   <xsd:group name="ETHERNET-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:ETHERNET-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:ETHERNET-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::EthernetClusterContent -->
   <xsd:group name="ETHERNET-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="couplingPortConnection, variationPoint.shortLabel";mmt.qualifiedName="EthernetCluster.couplingPortConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLING-PORT-CONNECTION" type="AR:COUPLING-PORT-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORT-SWITCHOFF-DELAY" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Switch off delay for CouplingPorts in seconds. It denotes the delay of switching off couplingPorts after the request to switch off a couplingPort was issued. (e.g. switch off of Ethernet switch ports).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCluster.couplingPortSwitchoffDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-MULTICAST-GROUPS">
            <xsd:annotation>
               <xsd:documentation>MacMulticastGroup that is defined for the Subnet (EthernetCluster).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCluster.macMulticastGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MAC-MULTICAST-GROUP" type="AR:MAC-MULTICAST-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class EthernetTopology::EthernetCommunicationConnector -->
   <xsd:group name="ETHERNET-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific attributes to the CommunicationConnector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IP-V-6-PATH-MTU-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If enabled the IPv6 processes incoming ICMPv6 "Packet Too Big" messages and stores a MTU value for each destination address.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EthernetCommunicationConnector.ipV6PathMtuEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IP-V-6-PATH-MTU-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>If this value is &gt;0 the IpV6 will reset the MTU value stored for each destination after n seconds.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EthernetCommunicationConnector.ipV6PathMtuTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-TRANSMISSION-UNIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the maximum transmission unit in bytes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector.maximumTransmissionUnit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NEIGHBOR-CACHE-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the size of neighbor cache or ARP table in units of entries.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector.neighborCacheSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-ENDPOINT-REFS">
            <xsd:annotation>
               <xsd:documentation>NetworkEndpoints</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector.networkEndpoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NETWORK-ENDPOINT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:NETWORK-ENDPOINT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATH-MTU-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If enabled the IPv4/IPv6 processes incoming ICMP "Packet Too Big" messages and stores a MTU value for each destination address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector.pathMtuEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATH-MTU-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>If this value is &gt;0 the IPv4/IPv6 will reset the MTU value stored for each destination after n seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector.pathMtuTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-FILTER-DATA-MASK" type="AR:POSITIVE-UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit mask for Ethernet Payload used to configure the Ethernet Transceiver for partial network wakeup.

This attribute should not be computed from the pncIdentifier values in order to support future introduction of additional PNCs. 

Note that for one EcuInstance all contributing pncFilterDataMask will be bitwise ORed to obtain the value of UdpNmPnFilterMaskByte. Note that this data mask is calculated over the whole payload (8 Byte) of the NmPdu ignoring the leading bytes which do not contain pncVector information. The number of leading bytes which shall be ignored is equivalent to the value of System.pncVectorOffset.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector.pncFilterDataMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetCommunicationConnector -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific attributes to the CommunicationConnector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:ETHERNET-COMMUNICATION-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-COMMUNICATION-CONNECTOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONNECTOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::EthernetCommunicationController -->
   <xsd:group name="ETHERNET-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ETHERNET-COMMUNICATION-CONTROLLER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController.EthernetCommunicationControllerVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ETHERNET-COMMUNICATION-CONTROLLER-CONDITIONAL" type="AR:ETHERNET-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetCommunicationController -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:ETHERNET-COMMUNICATION-CONTROLLER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::EthernetCommunicationControllerConditional -->
   <xsd:group name="ETHERNET-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationControllerConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetCommunicationControllerConditional -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:ETHERNET-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:ETHERNET-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::EthernetCommunicationControllerContent -->
   <xsd:group name="ETHERNET-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLING-PORTS">
            <xsd:annotation>
               <xsd:documentation>Optional CouplingPort that can be used to connect the ECU to a CouplingElement (e.g. a switch).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController.couplingPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLING-PORT" type="AR:COUPLING-PORT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-LAYER-TYPE" type="AR:ETHERNET-MAC-LAYER-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the mac layer type of the ethernet controller.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController.macLayerType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-UNICAST-ADDRESS" type="AR:MAC-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Media Access Control address (MAC address) that uniquely identifies each EthernetCommunicationController in the network.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController.macUnicastAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-RECEIVE-BUFFER-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Determines the maximum receive buffer length (frame length) in bytes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController.maximumReceiveBufferLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-TRANSMISSION-UNIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and will be removed in future. It is replaced by EthernetCommunicationConnector.maximumTransmissionUnit.

Old description:
This attribute specifies the maximum transmission unit in bytes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EthernetCommunicationController.maximumTransmissionUnit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-TRANSMIT-BUFFER-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Determines the maximum transmit buffer length (frame length) in bytes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCommunicationController.maximumTransmitBufferLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class EthernetCommunication::EthernetFrame -->
   <xsd:group name="ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific attributes to the Frame.

This element is removed and shall no longer be used. It is replaced by AbstractEthernetFrame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.recommendedPackage="Frames";mmt.qualifiedName="EthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::EthernetFrame -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific attributes to the Frame.

This element is removed and shall no longer be used. It is replaced by AbstractEthernetFrame.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.recommendedPackage="Frames";mmt.qualifiedName="EthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:ETHERNET-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::EthernetFrameTriggering -->
   <xsd:group name="ETHERNET-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific Frame element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::EthernetFrameTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>Ethernet specific Frame element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FRAME-TRIGGERING"/>
         <xsd:group ref="AR:ETHERNET-FRAME-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::EthernetPhysicalChannel -->
   <xsd:group name="ETHERNET-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>The EthernetPhysicalChannel represents a VLAN or an untagged channel. 
An untagged channel is modeled as an EthernetPhysicalChannel without an aggregated VLAN.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-ENDPOINTS">
            <xsd:annotation>
               <xsd:documentation>Collection of NetworkEndpoints that are used in the VLan.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPhysicalChannel.networkEndpoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NETWORK-ENDPOINT" type="AR:NETWORK-ENDPOINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SO-AD-CONFIG" type="AR:SO-AD-CONFIG">
            <xsd:annotation>
               <xsd:documentation>SoAd Configuration for one specific Physical Channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPhysicalChannel.soAdConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN" type="AR:VLAN-CONFIG">
            <xsd:annotation>
               <xsd:documentation>VLAN Configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPhysicalChannel.vlan";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetPhysicalChannel -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>The EthernetPhysicalChannel represents a VLAN or an untagged channel. 
An untagged channel is modeled as an EthernetPhysicalChannel without an aggregated VLAN.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:ETHERNET-PHYSICAL-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-PHYSICAL-CHANNEL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ETHERNET-PHYSICAL-CHANNEL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::EthernetPriorityRegeneration -->
   <xsd:group name="ETHERNET-PRIORITY-REGENERATION">
      <xsd:annotation>
         <xsd:documentation>Defines a priority regeneration where the ingressPriority is replaced by regeneratedPriority.

The ethernetPriorityRegeneration is optional in case no priority regeneration shall be performed.

In case a ethernetPriorityRegeneration is defined it shall have 8 mappings, one for each priority.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPriorityRegeneration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INGRESS-PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Message priority of the incoming message.

range: 0-7</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPriorityRegeneration.ingressPriority";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REGENERATED-PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Regenerated message priority.

range: 0-7</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPriorityRegeneration.regeneratedPriority";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EthernetPriorityRegeneration -->
   <xsd:complexType abstract="false" mixed="false" name="ETHERNET-PRIORITY-REGENERATION">
      <xsd:annotation>
         <xsd:documentation>Defines a priority regeneration where the ingressPriority is replaced by regeneratedPriority.

The ethernetPriorityRegeneration is optional in case no priority regeneration shall be performed.

In case a ethernetPriorityRegeneration is defined it shall have 8 mappings, one for each priority.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPriorityRegeneration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:ETHERNET-PRIORITY-REGENERATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::EvaluatedVariantSet -->
   <xsd:group name="EVALUATED-VARIANT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to express if a set of ARElements is able to support one or more particular variants.

In other words, for a given set of evaluatedElements this meta class represents a table of evaluated variants, where each PredefinedVariant represents one column. In this column each descendant swSystemconstantValue resp. postbuildVariantCriterionValue represents one entry.

In a graphical representation each swSystemconstantValueSet / postBuildVariantCriterionValueSet could be used as an intermediate headline in the table column.

If the approvalStatus is "APPROVED" it expresses that the collection of CollectableElements is known be valid for the given evaluatedVariants.

Note that the EvaluatedVariantSet is a CollectableElement. This allows to establish a hierarchy of EvaluatedVariantSets.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EvaluatedVariantSets";mmt.qualifiedName="EvaluatedVariantSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPROVAL-STATUS" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>Defines the approval status of a predefined variant. Two values are predefined: "APPROVED" and "REJECTED":

* Approved variants are known to work.
* Rejected variants are known NOT to work.

Further values can be approved on a per-company basis; within AUTOSAR only "APPROVED" and "REJECTED" should be recognized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EvaluatedVariantSet.approvalStatus";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVALUATED-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents a particular element which is evaluated in context of the EvaluatedVariants. The approvalStatus applies to this element (and all of its descendants). In other words, the referenced elements are those that were considered when the predefined variant was evaluated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EvaluatedVariantSet.evaluatedElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EVALUATED-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:COLLECTABLE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVALUATED-VARIANT-REFS">
            <xsd:annotation>
               <xsd:documentation>This metaclass represents one particular variant which was evaluated. LowerMultiplicity is set to 0 to support a stepwise approach.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EvaluatedVariantSet.evaluatedVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EVALUATED-VARIANT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PREDEFINED-VARIANT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::EvaluatedVariantSet -->
   <xsd:complexType abstract="false" mixed="false" name="EVALUATED-VARIANT-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to express if a set of ARElements is able to support one or more particular variants.

In other words, for a given set of evaluatedElements this meta class represents a table of evaluated variants, where each PredefinedVariant represents one column. In this column each descendant swSystemconstantValue resp. postbuildVariantCriterionValue represents one entry.

In a graphical representation each swSystemconstantValueSet / postBuildVariantCriterionValueSet could be used as an intermediate headline in the table column.

If the approvalStatus is "APPROVED" it expresses that the collection of CollectableElements is known be valid for the given evaluatedVariants.

Note that the EvaluatedVariantSet is a CollectableElement. This allows to establish a hierarchy of EvaluatedVariantSets.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="EvaluatedVariantSets";mmt.qualifiedName="EvaluatedVariantSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:EVALUATED-VARIANT-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Timing::EventControlledTiming -->
   <xsd:group name="EVENT-CONTROLLED-TIMING">
      <xsd:annotation>
         <xsd:documentation>Specification of a event driven sending behavior. The PDU is sent n
(numberOfRepeat + 1) times separated by the repetitionPeriod. If numberOfRepeats
= 0, then the Pdu is sent just once.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventControlledTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUMBER-OF-REPETITIONS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the number of repetitions for the Direct/N-Times transmission mode and the event driven part of Mixed transmission mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventControlledTiming.numberOfRepetitions";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REPETITION-PERIOD" type="AR:TIME-RANGE-TYPE">
            <xsd:annotation>
               <xsd:documentation>The repetitionPeriod specifies the time in seconds that elapses before the pdu can be sent the next time (Minimum repeat gap between two pdus). The repetitionPeriod is optional in case that no repetitions are configured.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventControlledTiming.repetitionPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::EventControlledTiming -->
   <xsd:complexType abstract="false" mixed="false" name="EVENT-CONTROLLED-TIMING">
      <xsd:annotation>
         <xsd:documentation>Specification of a event driven sending behavior. The PDU is sent n
(numberOfRepeat + 1) times separated by the repetitionPeriod. If numberOfRepeats
= 0, then the Pdu is sent just once.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventControlledTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:EVENT-CONTROLLED-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::EventHandler -->
   <xsd:group name="EVENT-HANDLER">
      <xsd:annotation>
         <xsd:documentation>Configures the outbound application endpoint a server uses to call a clients callback. Only required if the source TpPort is not dynamically assigned. If a consumed event group is referenced the configuration is only valid for this relation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-ENDPOINT-REF">
            <xsd:annotation>
               <xsd:documentation>Defines the local application endpoint used to submit an event to a subscriber.
For the submission of events the service provider may use a different TpPort address (ApplicationEndpoint) then for the response of requests.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler.applicationEndpoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-ENDPOINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSUMED-EVENT-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>All consumers of the event are referenced here.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler.consumedEventGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSUMED-EVENT-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CONSUMED-EVENT-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-THRESHOLD" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the number of subscribed clients that trigger the server to change the transmission of events to multicast.

If configured to 0 only unicast will be used.
If configured to 1 the first client will be already served by multicast.
If configured to 2 the first client will be server with unicast and as soon as the second client arrives both will be served by multicast.

This does not influence the handling of initial events, which are served using unicast only.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler.multicastThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTING-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>The ServiceDiscovery module is able to activate and deactivate the PDU routing for events.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler.routingGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROUTING-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SO-AD-ROUTING-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SD-SERVER-CONFIG" type="AR:SD-SERVER-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Server configuration parameter for Service-Discovery.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler.sdServerConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::EventHandler -->
   <xsd:complexType abstract="false" mixed="false" name="EVENT-HANDLER">
      <xsd:annotation>
         <xsd:documentation>Configures the outbound application endpoint a server uses to call a clients callback. Only required if the source TpPort is not dynamically assigned. If a consumed event group is referenced the configuration is only valid for this relation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventHandler"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:EVENT-HANDLER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="EVENT-HANDLER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EVENT-HANDLER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EventTriggeringConstraint::EventTriggeringConstraint -->
   <xsd:group name="EVENT-TRIGGERING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>Describes the occurrence behavior of the referenced timing event.

The occurrence behavior can only be determined when a mapping from the timing events to the implementation can be obtained. However, such an occurrence behavior can also be described by the modeler as an assumption or as a requirement about the occurrence of the event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventTriggeringConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced timing event</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="EventTriggeringConstraint.event";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class InternalBehavior::ExclusiveArea -->
   <xsd:group name="EXCLUSIVE-AREA">
      <xsd:annotation>
         <xsd:documentation>Prevents an executable entity running in the area from being preempted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveArea"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveArea.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InternalBehavior::ExclusiveArea -->
   <xsd:complexType abstract="false" mixed="false" name="EXCLUSIVE-AREA">
      <xsd:annotation>
         <xsd:documentation>Prevents an executable entity running in the area from being preempted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveArea"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXCLUSIVE-AREA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="EXCLUSIVE-AREA--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EXCLUSIVE-AREA"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InternalBehavior::ExclusiveAreaNestingOrder -->
   <xsd:group name="EXCLUSIVE-AREA-NESTING-ORDER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a nesting order of ExclusiveAreas. A nesting order (that may occur in the executable code) is formally defined to be able to analyze the resource locking behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveAreaNestingOrder"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents a specific scenario of how ExclusiveAreas can be used in terms of the nesting order.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveAreaNestingOrder.exclusiveArea";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXCLUSIVE-AREA-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveAreaNestingOrder.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InternalBehavior::ExclusiveAreaNestingOrder -->
   <xsd:complexType abstract="false" mixed="false" name="EXCLUSIVE-AREA-NESTING-ORDER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a nesting order of ExclusiveAreas. A nesting order (that may occur in the executable code) is formally defined to be able to analyze the resource locking behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExclusiveAreaNestingOrder"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:EXCLUSIVE-AREA-NESTING-ORDER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="EXCLUSIVE-AREA-NESTING-ORDER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EXCLUSIVE-AREA-NESTING-ORDER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InternalBehavior::ExecutableEntity -->
   <xsd:group name="EXECUTABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>Abstraction of executable code.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTIVATION-REASONS">
            <xsd:annotation>
               <xsd:documentation>If the ExecutableEntity provides at least one activationReason element the RTE resp. BSW Scheduler shall provide means to read the activation vector of this executable entity execution.

If no activationReason element is provided the feature of being able to determine the activating RTEEvent is disabled for this ExecutableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.activationReason";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXECUTABLE-ENTITY-ACTIVATION-REASON" type="AR:EXECUTABLE-ENTITY-ACTIVATION-REASON"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-ENTER-EXCLUSIVE-AREA-REFS">
            <xsd:annotation>
               <xsd:documentation>This means that the executable entity can enter/leave the referenced exclusive area through explicit API calls.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.canEnterExclusiveArea";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-ENTER-EXCLUSIVE-AREA-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-NESTING-ORDER-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the set of ExclusiveAreaNestingOrders recognized by this ExecutableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.exclusiveAreaNestingOrder";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXCLUSIVE-AREA-NESTING-ORDER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA-NESTING-ORDER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-START-INTERVAL" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the time in seconds by which two consecutive starts of an ExecutableEntity are guaranteed to be separated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.minimumStartInterval";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REENTRANCY-LEVEL" type="AR:REENTRANCY-LEVEL-ENUM">
            <xsd:annotation>
               <xsd:documentation>The reentrancy level of this ExecutableEntity. See the documentation of the enumeration type ReentrancyLevelEnum for details.

Please note that nonReentrant interfaces can have also reentrant or multicoreReentrant implementations, and reentrant interfaces can also have multicoreReentrant implementations.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.reentrancyLevel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNS-INSIDE-EXCLUSIVE-AREA-REFS">
            <xsd:annotation>
               <xsd:documentation>The executable entity runs completely inside the referenced exclusive area.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.runsInsideExclusiveArea";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNS-INSIDE-EXCLUSIVE-AREA-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ADDR-METHOD-REF">
            <xsd:annotation>
               <xsd:documentation>Addressing method related to this code entity. Via an association to the same SwAddrMethod, it can be specified that several code entities (even of different modules or components)  shall be located in the same memory without already specifying the memory section itself.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntity.swAddrMethod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-ADDR-METHOD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="EXECUTABLE-ENTITY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-CALLED-ENTITY"/>
         <xsd:enumeration value="BSW-INTERRUPT-ENTITY"/>
         <xsd:enumeration value="BSW-MODULE-ENTITY"/>
         <xsd:enumeration value="BSW-SCHEDULABLE-ENTITY"/>
         <xsd:enumeration value="EXECUTABLE-ENTITY"/>
         <xsd:enumeration value="RUNNABLE-ENTITY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InternalBehavior::ExecutableEntityActivationReason -->
   <xsd:group name="EXECUTABLE-ENTITY-ACTIVATION-REASON">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the reason for the activation of the enclosing ExecutableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntityActivationReason"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BIT-POSITION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute allows for defining the position of the enclosing ExecutableEntityActivationReason in the activation vector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntityActivationReason.bitPosition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InternalBehavior::ExecutableEntityActivationReason -->
   <xsd:complexType abstract="false" mixed="false" name="EXECUTABLE-ENTITY-ACTIVATION-REASON">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the reason for the activation of the enclosing ExecutableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutableEntityActivationReason"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:IMPLEMENTATION-PROPS"/>
         <xsd:group ref="AR:EXECUTABLE-ENTITY-ACTIVATION-REASON"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="EXECUTABLE-ENTITY-ACTIVATION-REASON--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EXECUTABLE-ENTITY-ACTIVATION-REASON"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ExecutionOrderConstraint::ExecutionOrderConstraint -->
   <xsd:group name="EXECUTION-ORDER-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>This constraint is used to restrict the order of execution for a set of ExecutableEntities. The ExecutionOrderConstraint can be used in any timing view.

The various scopes for ExecutionOrderConstraint are described below. Generally, each ExecutionOrderConstraint has a scope of software components and can reference all executable entities available in the corresponding internal behavior (RunnableEntity and BswModuleEntity) either directly or by the events activating respectively starting them (RteEvent and BswEvent).

On VFB level an ExecutionOrderConstraint can be specified for RunnableEntities part of the composition hierarchy referenced by the VfbTiming. The ExecutionOrderConstraint is aggregated by the VfbTiming.

On SW-C level an ExecutionOrderConstraint can be specified for RunnableEntities part of the InternalBehavior referenced by the SwcTiming. The ExecutionOrderConstraint is aggregated by the SwcTiming.

On System level an ExecutionOrderConstraint can be specified for RunnableEntities part of the composition hierarchy of the system referenced by the SystemTiming. The ExecutionOrderConstraint is aggregated by the SystemTiming.

On BSW Module level, an ExectionOrderConstraint can be specified for BswModuleEntities part of an BswInternalBehavior referenced by the BswModuleTiming. The ExecutionOrderConstraint is aggregated by the BswModuleTiming.

On ECU level an ExecutionOrderConstraint can be specified for all ExecutableEntities and Events available via the EcucValueCollection, covering ECU Extract and BSW Module Configuration, referenced by the EcuTiming. The ExecutionOrderConstraint is aggregated by the EcuTiming.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the composition SW-C type playing the role of a SW-C containing further SW-Cs and represents the scope of the Execution Order Constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint.baseComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMPOSITION-SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-ORDER-CONSTRAINT-TYPE" type="AR:EXECUTION-ORDER-CONSTRAINT-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the specific type of ExecutionOrderConstraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint.executionOrderConstraintType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-EVENT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates whether the ExecutionOrderConstraint is only referring to Executable Entities (FALSE) or only to RTE and/or BSW Events (TRUE).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint.isEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ORDERED-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>The list of references to ExecutableEntities which shall be ordered.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint.orderedElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EOC-EVENT-REF" type="AR:EOC-EVENT-REF"/>
                  <xsd:element name="EOC-EXECUTABLE-ENTITY-REF" type="AR:EOC-EXECUTABLE-ENTITY-REF"/>
                  <xsd:element name="EOC-EXECUTABLE-ENTITY-REF-GROUP" type="AR:EOC-EXECUTABLE-ENTITY-REF-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERMIT-MULTIPLE-REFERENCES-TO-EE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates that the ExecutionOrderConstraints permits that an Executable Entity is referenced multiple times (TRUE) or only once (FALSE) in the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint.permitMultipleReferencesToEE";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionOrderConstraint::ExecutionOrderConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="EXECUTION-ORDER-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>This constraint is used to restrict the order of execution for a set of ExecutableEntities. The ExecutionOrderConstraint can be used in any timing view.

The various scopes for ExecutionOrderConstraint are described below. Generally, each ExecutionOrderConstraint has a scope of software components and can reference all executable entities available in the corresponding internal behavior (RunnableEntity and BswModuleEntity) either directly or by the events activating respectively starting them (RteEvent and BswEvent).

On VFB level an ExecutionOrderConstraint can be specified for RunnableEntities part of the composition hierarchy referenced by the VfbTiming. The ExecutionOrderConstraint is aggregated by the VfbTiming.

On SW-C level an ExecutionOrderConstraint can be specified for RunnableEntities part of the InternalBehavior referenced by the SwcTiming. The ExecutionOrderConstraint is aggregated by the SwcTiming.

On System level an ExecutionOrderConstraint can be specified for RunnableEntities part of the composition hierarchy of the system referenced by the SystemTiming. The ExecutionOrderConstraint is aggregated by the SystemTiming.

On BSW Module level, an ExectionOrderConstraint can be specified for BswModuleEntities part of an BswInternalBehavior referenced by the BswModuleTiming. The ExecutionOrderConstraint is aggregated by the BswModuleTiming.

On ECU level an ExecutionOrderConstraint can be specified for all ExecutableEntities and Events available via the EcucValueCollection, covering ECU Extract and BSW Module Configuration, referenced by the EcuTiming. The ExecutionOrderConstraint is aggregated by the EcuTiming.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EXECUTION-ORDER-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ExecutionTime::ExecutionTime -->
   <xsd:group name="EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Base class for several means how to describe the ExecutionTime of software. The required context information is provided through this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the ExclusiveArea this execution time is provided for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.exclusiveArea";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTABLE-ENTITY-REF">
            <xsd:annotation>
               <xsd:documentation>The executable entity for which this execution time is described.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.executableEntity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXECUTABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HARDWARE-CONFIGURATION" type="AR:HARDWARE-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Provides information on the HardwareConfiguration used to specify this ExecutionTime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.hardwareConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>The hardware element (e.g. type of ECU) for which the execution time is specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.hwElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INCLUDED-LIBRARY-REFS">
            <xsd:annotation>
               <xsd:documentation>If this dependency is specified, the execution
time of the library code is included in the
execution time data for the runnable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.includedLibrary";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INCLUDED-LIBRARY-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DEPENDENCY-ON-ARTIFACT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-SECTION-LOCATIONS">
            <xsd:annotation>
               <xsd:documentation>Provides information on the MemorySectionLocation which is involved in the ExecutionTime description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.memorySectionLocation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEMORY-SECTION-LOCATION" type="AR:MEMORY-SECTION-LOCATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOFTWARE-CONTEXT" type="AR:SOFTWARE-CONTEXT">
            <xsd:annotation>
               <xsd:documentation>Provides information on the detailed SoftwareContext used to provide the ExecutionTime description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.softwareContext";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTime.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ExecutionTimeConstraint::ExecutionTimeConstraint -->
   <xsd:group name="EXECUTION-TIME-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>An ExecutionTimeConstraint is used to specify the execution time of the referenced ExecutableEntity in the referenced component. A minimum and maximum execution time can be defined.

Two types of execution time semantics can be used. The desired semantics can be set by the attribute executionTimeType:
&lt;ul&gt;
	&lt;li&gt;The "net" execution time is the time used to execute the ExecutableEntity without interruption and without external calls.&lt;/li&gt;
	&lt;li&gt;The "gross" execution time is the time used to execute the ExecutableEntity without interruption including external calls to other entities.&lt;/li&gt;
&lt;/ul&gt;

The time to execute the ExecutableEntity including interruptions by other entities and including external calls is commonly called "response time". The TimingExtensions provide the concept of event chains and latency constraints for that purpose. An event chain from the start of the entity to the termination of the entity with according latency constraint represents a response time constraint for that executable entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREF" type="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The component that containts the referenced ExecutableEntity for the ExecutionTimeConstraint. If the entity is in a basic software module no component must be provided.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint.component";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced ExecutableEntity for the ExecutionTimeConstraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint.executable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXECUTABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-TIME-TYPE" type="AR:EXECUTION-TIME-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the type of the execution time constrained by ExecutionTimeConstraint,</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint.executionTimeType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint.maximum";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint.minimum";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionTimeConstraint::ExecutionTimeConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="EXECUTION-TIME-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>An ExecutionTimeConstraint is used to specify the execution time of the referenced ExecutableEntity in the referenced component. A minimum and maximum execution time can be defined.

Two types of execution time semantics can be used. The desired semantics can be set by the attribute executionTimeType:
&lt;ul&gt;
	&lt;li&gt;The "net" execution time is the time used to execute the ExecutableEntity without interruption and without external calls.&lt;/li&gt;
	&lt;li&gt;The "gross" execution time is the time used to execute the ExecutableEntity without interruption including external calls to other entities.&lt;/li&gt;
&lt;/ul&gt;

The time to execute the ExecutableEntity including interruptions by other entities and including external calls is commonly called "response time". The TimingExtensions provide the concept of event chains and latency constraints for that purpose. An event chain from the start of the entity to the termination of the entity with according latency constraint represents a response time constraint for that executable entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EXECUTION-TIME-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::ExternalTriggerOccurredEvent -->
   <xsd:group name="EXTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced trigger have been occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-IREF" type="AR:R-TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the applicable Trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggerOccurredEvent.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::ExternalTriggerOccurredEvent -->
   <xsd:complexType abstract="false" mixed="false" name="EXTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced trigger have been occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Trigger::ExternalTriggeringPoint -->
   <xsd:group name="EXTERNAL-TRIGGERING-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns an ExternalTriggeringPoint it is entitled to raise an ExternalTriggerOccurredEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:EXTERNAL-TRIGGERING-POINT-IDENT">
            <xsd:annotation>
               <xsd:documentation>The aggregation in the role ident provides the ability to make the ExternalTriggeringPoint identifiable.

From the semantical point of view, the ExternalTriggeringPoint is considered a first-class Identifiable and therefore the aggregation in the role ident shall always exist (until it may be possible to let ModeAccessPoint directly inherit from Identifiable).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="ExternalTriggeringPoint.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-IREF">
            <xsd:annotation>
               <xsd:documentation>The trigger taken for the ExternalTriggeringPoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggeringPoint.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.namePlural="TRIGGER-IREF";xml.roleElement="false";xml.roleWrapperElement="true";xml.typeElement="true";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF" type="AR:P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggeringPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Trigger::ExternalTriggeringPoint -->
   <xsd:complexType abstract="false" mixed="false" name="EXTERNAL-TRIGGERING-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns an ExternalTriggeringPoint it is entitled to raise an ExternalTriggerOccurredEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:EXTERNAL-TRIGGERING-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::ExternalTriggeringPointIdent -->
   <xsd:group name="EXTERNAL-TRIGGERING-POINT-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class has been created to introduce the ability to become referenced into the meta-class ExternalTriggeringPoint without breaking backwards compatibility.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggeringPointIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RPTScenario::ExternalTriggeringPointIdent -->
   <xsd:complexType abstract="false" mixed="false" name="EXTERNAL-TRIGGERING-POINT-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class has been created to introduce the ability to become referenced into the meta-class ExternalTriggeringPoint without breaking backwards compatibility.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExternalTriggeringPointIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:IDENT-CAPTION"/>
         <xsd:group ref="AR:EXTERNAL-TRIGGERING-POINT-IDENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMAttributeDef -->
   <xsd:group name="FM-ATTRIBUTE-DEF">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to define attributes for a feature.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the default value of the attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeDef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:LIMIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Maximum possible value for the value of this attribute</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeDef.max";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:LIMIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Minimum possible value for the value of this attribute</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeDef.min";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMAttributeDef -->
   <xsd:complexType abstract="false" mixed="false" name="FM-ATTRIBUTE-DEF">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to define attributes for a feature.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-ATTRIBUTE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FM-ATTRIBUTE-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FM-ATTRIBUTE-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FeatureModelTemplate::FMAttributeValue -->
   <xsd:group name="FM-ATTRIBUTE-VALUE">
      <xsd:annotation>
         <xsd:documentation>This defines a value for the attribute that is referred to in the role definition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFINITION-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to the definition of this attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeValue.definition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FM-ATTRIBUTE-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the value of this attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMAttributeValue -->
   <xsd:complexType abstract="false" mixed="false" name="FM-ATTRIBUTE-VALUE">
      <xsd:annotation>
         <xsd:documentation>This defines a value for the attribute that is referred to in the role definition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMAttributeValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FM-ATTRIBUTE-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMConditionByFeaturesAndAttributes -->
   <xsd:group name="FM-CONDITION-BY-FEATURES-AND-ATTRIBUTES">
      <xsd:annotation>
         <xsd:documentation>A boolean expression that has the syntax of the AUTOSAR formula language but uses only references to features or feature attributes (not system constants) as operands.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMConditionByFeaturesAndAttributes"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMConditionByFeaturesAndAttributes -->
   <xsd:complexType abstract="false" mixed="true" name="FM-CONDITION-BY-FEATURES-AND-ATTRIBUTES">
      <xsd:annotation>
         <xsd:documentation>A boolean expression that has the syntax of the AUTOSAR formula language but uses only references to features or feature attributes (not system constants) as operands.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMConditionByFeaturesAndAttributes"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:FM-FORMULA-BY-FEATURES-AND-ATTRIBUTES"/>
         <xsd:group ref="AR:FM-CONDITION-BY-FEATURES-AND-ATTRIBUTES"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMConditionByFeaturesAndSwSystemconsts -->
   <xsd:group name="FM-CONDITION-BY-FEATURES-AND-SW-SYSTEMCONSTS">
      <xsd:annotation>
         <xsd:documentation>A boolean expression that has the syntax of the AUTOSAR formula language and may use references to features or system constants as operands.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMConditionByFeaturesAndSwSystemconsts"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMConditionByFeaturesAndSwSystemconsts -->
   <xsd:complexType abstract="false" mixed="true" name="FM-CONDITION-BY-FEATURES-AND-SW-SYSTEMCONSTS">
      <xsd:annotation>
         <xsd:documentation>A boolean expression that has the syntax of the AUTOSAR formula language and may use references to features or system constants as operands.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMConditionByFeaturesAndSwSystemconsts"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:FM-FORMULA-BY-FEATURES-AND-SW-SYSTEMCONSTS"/>
         <xsd:group ref="AR:FM-CONDITION-BY-FEATURES-AND-SW-SYSTEMCONSTS"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeature -->
   <xsd:group name="FM-FEATURE">
      <xsd:annotation>
         <xsd:documentation>A FMFeature describes an essential characteristic of a product. Each FMFeature is contained in exactly one FMFeatureModel.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureModels";mmt.qualifiedName="FMFeature"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ATTRIBUTE-DEFS">
            <xsd:annotation>
               <xsd:documentation>This defines the attributes of the given feature.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeature.attributeDef";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-ATTRIBUTE-DEF" type="AR:FM-ATTRIBUTE-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DECOMPOSITIONS">
            <xsd:annotation>
               <xsd:documentation>Lists the sub-features of a feature.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeature.decomposition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-DECOMPOSITION" type="AR:FM-FEATURE-DECOMPOSITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-INTENDED-BINDING-TIME" type="AR:BINDING-TIME-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines an upper bound for the binding time of the variation points that are associated with the FMFeature. This attribute is meant as a hint for the development process.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeature.maximumIntendedBindingTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-INTENDED-BINDING-TIME" type="AR:BINDING-TIME-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines a lower bound for the binding time of the variation points that are associated with the FMFeature. This attribute is meant as a hint for the development process.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeature.minimumIntendedBindingTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELATIONS">
            <xsd:annotation>
               <xsd:documentation>Defines relations for FMFeatures, for example dependencies on
other FMFeatures, or conflicts with other FMFeatures. A FMFeature
can only be part of a FMFeatureSelectionSet if all its
relations are fulfilled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeature.relation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-RELATION" type="AR:FM-FEATURE-RELATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESTRICTIONS">
            <xsd:annotation>
               <xsd:documentation>Defines restrictions for FMFeatures. A FMFeature can only be part
of a FMFeatureSelectionSet if at least one of its restrictions evaluates to true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeature.restriction";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-RESTRICTION" type="AR:FM-FEATURE-RESTRICTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeature -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE">
      <xsd:annotation>
         <xsd:documentation>A FMFeature describes an essential characteristic of a product. Each FMFeature is contained in exactly one FMFeatureModel.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureModels";mmt.qualifiedName="FMFeature"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:FM-FEATURE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FM-FEATURE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FM-FEATURE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FeatureModelTemplate::FMFeatureDecomposition -->
   <xsd:group name="FM-FEATURE-DECOMPOSITION">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureDecomposition describes dependencies between a list of
features and their parent feature (i.e., the FMFeature that
aggregates the FMFeatureDecomposition). The kind of dependency is
defined by the attribute category.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureDecomposition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:CATEGORY-STRING">
            <xsd:annotation>
               <xsd:documentation>The category of a FMFeatureDecomposition defines the type of
dependency that is defined by the FMFeatureDecomposition. There
are four different categories: MANDATORYFEATURE, OPTIONALFEATURE,
ALTERNATIVEFEATURE, and MULTIPLEFEATURE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureDecomposition.category";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FEATURE-REFS">
            <xsd:annotation>
               <xsd:documentation>The features that are affected by the dependency defined by the FMFeatureDecomposition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureDecomposition.feature";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FEATURE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>For a dependency of category MULTIPLEFEATURE, this defines the maximum number of features allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureDecomposition.max";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>For a dependency of category MULTIPLEFEATURE, this defines the minimum number of features allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureDecomposition.min";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureDecomposition -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-DECOMPOSITION">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureDecomposition describes dependencies between a list of
features and their parent feature (i.e., the FMFeature that
aggregates the FMFeatureDecomposition). The kind of dependency is
defined by the attribute category.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureDecomposition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FM-FEATURE-DECOMPOSITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureMap -->
   <xsd:group name="FM-FEATURE-MAP">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureMap associates FMFeatures with variation points in the
AUTOSAR model. To do this, it defines value sets for system
constants and postbuild variant criterions that shall be chosen 
whenever a certain combination of features (and system constants) is encountered.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureMaps";mmt.qualifiedName="FMFeatureMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Set of mappings defined by this FMFeatureMap.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMap.mapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-MAP-ELEMENT" type="AR:FM-FEATURE-MAP-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureMap -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-MAP">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureMap associates FMFeatures with variation points in the
AUTOSAR model. To do this, it defines value sets for system
constants and postbuild variant criterions that shall be chosen 
whenever a certain combination of features (and system constants) is encountered.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureMaps";mmt.qualifiedName="FMFeatureMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:FM-FEATURE-MAP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureMapAssertion -->
   <xsd:group name="FM-FEATURE-MAP-ASSERTION">
      <xsd:annotation>
         <xsd:documentation>Defines a boolean expression which must evaluate to true for this mapping to become active. The expression is a formula that is based on features and system constants, and is defined by fmSyscond.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapAssertion"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FM-SYSCOND" type="AR:FM-CONDITION-BY-FEATURES-AND-SW-SYSTEMCONSTS">
            <xsd:annotation>
               <xsd:documentation>The formula that implements the assertion.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapAssertion.fmSyscond";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureMapAssertion -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-MAP-ASSERTION">
      <xsd:annotation>
         <xsd:documentation>Defines a boolean expression which must evaluate to true for this mapping to become active. The expression is a formula that is based on features and system constants, and is defined by fmSyscond.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapAssertion"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-FEATURE-MAP-ASSERTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureMapCondition -->
   <xsd:group name="FM-FEATURE-MAP-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Defines a condition which needs to be fulfilled for this mapping to become active. The condition is implemented as formula that is based on features and attributes and is defined by fmCond.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FM-COND" type="AR:FM-CONDITION-BY-FEATURES-AND-ATTRIBUTES">
            <xsd:annotation>
               <xsd:documentation>The formula that implements the condition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapCondition.fmCond";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureMapCondition -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-MAP-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Defines a condition which needs to be fulfilled for this mapping to become active. The condition is implemented as formula that is based on features and attributes and is defined by fmCond.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-FEATURE-MAP-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureMapElement -->
   <xsd:group name="FM-FEATURE-MAP-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Defines value sets for system constants and postbuild variant
criterions that shall be chosen whenever a certain combination
of features (and system constants) is encountered.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSERTIONS">
            <xsd:annotation>
               <xsd:documentation>Defines a boolean expression based on features and system constants which needs to evaluate to true for this mapping to become active.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapElement.assertion";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-MAP-ASSERTION" type="AR:FM-FEATURE-MAP-ASSERTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>Defines a condition which needs to be fulfilled for this mapping to become active.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapElement.condition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-MAP-CONDITION" type="AR:FM-FEATURE-MAP-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-CRITERION-VALUE-SET-REFS">
            <xsd:annotation>
               <xsd:documentation>Selects a set of values for postbuild variant criterions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapElement.postBuildVariantCriterionValueSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POST-BUILD-VARIANT-CRITERION-VALUE-SET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:POST-BUILD-VARIANT-CRITERION-VALUE-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-SYSTEMCONSTANT-VALUE-SET-REFS">
            <xsd:annotation>
               <xsd:documentation>Selects a set of values for system constants.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapElement.swSystemconstantValueSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-SYSTEMCONSTANT-VALUE-SET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SW-SYSTEMCONSTANT-VALUE-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureMapElement -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-MAP-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Defines value sets for system constants and postbuild variant
criterions that shall be chosen whenever a certain combination
of features (and system constants) is encountered.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureMapElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-FEATURE-MAP-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureModel -->
   <xsd:group name="FM-FEATURE-MODEL">
      <xsd:annotation>
         <xsd:documentation>A Feature model describes the features of a product line and their dependencies. Feature models are an optional part of an AUTOSAR model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureModels";mmt.qualifiedName="FMFeatureModel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FEATURE-REFS">
            <xsd:annotation>
               <xsd:documentation>"feature" holds the list of features of the feature model. No FMFeature may be contained twice in this list. Also, each FMFeature may be contained on only one feature model.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="feature";mmt.qualifiedName="FMFeatureModel.feature";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FEATURE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-REF">
            <xsd:annotation>
               <xsd:documentation>The features of a feature model define a tree. The attribute root points to the root of this tree.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureModel.root";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureModel -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-MODEL">
      <xsd:annotation>
         <xsd:documentation>A Feature model describes the features of a product line and their dependencies. Feature models are an optional part of an AUTOSAR model.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureModels";mmt.qualifiedName="FMFeatureModel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:FM-FEATURE-MODEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FM-FEATURE-MODEL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FM-FEATURE-MODEL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FeatureModelTemplate::FMFeatureRelation -->
   <xsd:group name="FM-FEATURE-RELATION">
      <xsd:annotation>
         <xsd:documentation>Defines relations for FMFeatures, for example dependencies on
other FMFeatures, or conflicts with other FMFeatures. A FMFeature
can only be part of a FMFeatureSelectionSet if all its
relations are fulfilled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureRelation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FEATURE-REFS">
            <xsd:annotation>
               <xsd:documentation>The FMFeature that is targeted by this FMFeatureRelation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureRelation.feature";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FEATURE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureRelation -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-RELATION">
      <xsd:annotation>
         <xsd:documentation>Defines relations for FMFeatures, for example dependencies on
other FMFeatures, or conflicts with other FMFeatures. A FMFeature
can only be part of a FMFeatureSelectionSet if all its
relations are fulfilled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureRelation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-FEATURE-RELATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureRestriction -->
   <xsd:group name="FM-FEATURE-RESTRICTION">
      <xsd:annotation>
         <xsd:documentation>Defines restrictions for FMFeatures. A FMFeature can only be part
of a FMFeatureSelectionSet if at least one of its restrictions evaluate to true.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureRestriction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESTRICTION" type="AR:FM-CONDITION-BY-FEATURES-AND-ATTRIBUTES">
            <xsd:annotation>
               <xsd:documentation>A formula that contains the actual restriction.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureRestriction.restriction";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureRestriction -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-RESTRICTION">
      <xsd:annotation>
         <xsd:documentation>Defines restrictions for FMFeatures. A FMFeature can only be part
of a FMFeatureSelectionSet if at least one of its restrictions evaluate to true.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureRestriction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-FEATURE-RESTRICTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureSelection -->
   <xsd:group name="FM-FEATURE-SELECTION">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureSelection represents the state of a particular
FMFeature within a FMFeatureSelectionSet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FEATURE-REF">
            <xsd:annotation>
               <xsd:documentation>The FMFeature whose state is defined by this FMFeatureSelection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection.feature";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATE" type="AR:FM-FEATURE-SELECTION-STATE">
            <xsd:annotation>
               <xsd:documentation>Defines how the FMFeature that is described by this
FMFeatureSelection contributes to the FMFeatureSelectionSet. A
FMFeature may have the state selected, deselected or undecided.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection.state";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-SELECTED-BINDING-TIME" type="AR:BINDING-TIME-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines a lower bound for the binding time of the variation points that are associated with the FMFeature, and refines its minimumIntendedBindingTime. This attribute is meant as a hint for the development process.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection.minimumSelectedBindingTime";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-SELECTED-BINDING-TIME" type="AR:BINDING-TIME-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines an upper bound for the binding time of the variation points that are associated with the FMFeature, and refines its maximumIntendedBindingTime. This attribute is meant as a hint for the development process.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection.maximumSelectedBindingTime";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ATTRIBUTE-VALUES">
            <xsd:annotation>
               <xsd:documentation>This defines a value for the attribute that is referred to in the role definition.

Note that a FMFeatureSelection cannot include two FMAttributeValues that refer to the same FMAttributeDef in the role definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection.attributeValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-ATTRIBUTE-VALUE" type="AR:FM-ATTRIBUTE-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureSelection -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-SELECTION">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureSelection represents the state of a particular
FMFeature within a FMFeatureSelectionSet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FM-FEATURE-SELECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FeatureModelTemplate::FMFeatureSelectionSet -->
   <xsd:group name="FM-FEATURE-SELECTION-SET">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureSelectionSet is a set of FMFeatures that describes a specific product.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureModelSelectionSets";mmt.qualifiedName="FMFeatureSelectionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FEATURE-MODEL-REFS">
            <xsd:annotation>
               <xsd:documentation>All FMFeatures in this FMFeatureSelectionSet shall be part of the
referenced FMFeatureModel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelectionSet.featureModel";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FEATURE-MODEL-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FM-FEATURE-MODEL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INCLUDE-REFS">
            <xsd:annotation>
               <xsd:documentation>Each FMFeatureSelectionSet may include one or more
FMFeatureSelectionSets. This establishes a hierarchy among
FMFeatureSelectionSets. See constr_5003 and constr_5025 for
details.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelectionSet.include";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INCLUDE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FM-FEATURE-SELECTION-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SELECTIONS">
            <xsd:annotation>
               <xsd:documentation>The set of FMFeatureSelections of this FMFeatureSelectionSet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelectionSet.selection";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FM-FEATURE-SELECTION" type="AR:FM-FEATURE-SELECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FeatureModelTemplate::FMFeatureSelectionSet -->
   <xsd:complexType abstract="false" mixed="false" name="FM-FEATURE-SELECTION-SET">
      <xsd:annotation>
         <xsd:documentation>A FMFeatureSelectionSet is a set of FMFeatures that describes a specific product.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FMFeatureModelSelectionSets";mmt.qualifiedName="FMFeatureSelectionSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:FM-FEATURE-SELECTION-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FM-FEATURE-SELECTION-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FM-FEATURE-SELECTION-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FeatureModelTemplate::FMFormulaByFeaturesAndAttributes -->
   <xsd:group name="FM-FORMULA-BY-FEATURES-AND-ATTRIBUTES">
      <xsd:annotation>
         <xsd:documentation>An expression that has the syntax of the AUTOSAR formula language but uses only references to features or feature attributes (not system constants) as operands.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFormulaByFeaturesAndAttributes"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="ATTRIBUTE-REF">
               <xsd:annotation>
                  <xsd:documentation>An expression of type FMFormulaByFeaturesAndAttributes may refer to attributes of FMFeatures.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="FMFormulaByFeaturesAndAttributes.attribute";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:FM-ATTRIBUTE-DEF--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="FEATURE-REF">
               <xsd:annotation>
                  <xsd:documentation>An expression of type FMFormulaByFeaturesAndAttributes may refer to FMFeatures.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="FMFormulaByFeaturesAndAttributes.feature";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class FeatureModelTemplate::FMFormulaByFeaturesAndSwSystemconsts -->
   <xsd:group name="FM-FORMULA-BY-FEATURES-AND-SW-SYSTEMCONSTS">
      <xsd:annotation>
         <xsd:documentation>An expression that has the syntax of the AUTOSAR formula language and may use references to features or system constants as operands.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFormulaByFeaturesAndSwSystemconsts"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="FEATURE-REF">
               <xsd:annotation>
                  <xsd:documentation>An expression of type FMFormulaByFeaturesAndSwSystemconsts may refer to FMFeatures.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="FMFormulaByFeaturesAndSwSystemconsts.feature";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:FM-FEATURE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class FibexCore::FibexElement -->
   <xsd:group name="FIBEX-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>ASAM FIBEX elements specifying Communication and Topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FibexElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="FIBEX-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-CAN-CLUSTER"/>
         <xsd:enumeration value="ABSTRACT-ETHERNET-FRAME"/>
         <xsd:enumeration value="CAN-CLUSTER"/>
         <xsd:enumeration value="CAN-FRAME"/>
         <xsd:enumeration value="CAN-TP-CONFIG"/>
         <xsd:enumeration value="COMMUNICATION-CLUSTER"/>
         <xsd:enumeration value="CONTAINER-I-PDU"/>
         <xsd:enumeration value="COUPLING-ELEMENT"/>
         <xsd:enumeration value="DCM-I-PDU"/>
         <xsd:enumeration value="DO-IP-TP-CONFIG"/>
         <xsd:enumeration value="ECU-INSTANCE"/>
         <xsd:enumeration value="ETHERNET-CLUSTER"/>
         <xsd:enumeration value="ETHERNET-FRAME"/>
         <xsd:enumeration value="FIBEX-ELEMENT"/>
         <xsd:enumeration value="FLEXRAY-AR-TP-CONFIG"/>
         <xsd:enumeration value="FLEXRAY-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-FRAME"/>
         <xsd:enumeration value="FLEXRAY-TP-CONFIG"/>
         <xsd:enumeration value="FRAME"/>
         <xsd:enumeration value="GATEWAY"/>
         <xsd:enumeration value="GENERAL-PURPOSE-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-PDU"/>
         <xsd:enumeration value="GENERIC-ETHERNET-FRAME"/>
         <xsd:enumeration value="GLOBAL-TIME-DOMAIN"/>
         <xsd:enumeration value="I-PDU"/>
         <xsd:enumeration value="I-SIGNAL"/>
         <xsd:enumeration value="I-SIGNAL-GROUP"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU-GROUP"/>
         <xsd:enumeration value="IEEE-1722-TP-ETHERNET-FRAME"/>
         <xsd:enumeration value="J-1939-CLUSTER"/>
         <xsd:enumeration value="J-1939-DCM-I-PDU"/>
         <xsd:enumeration value="J-1939-TP-CONFIG"/>
         <xsd:enumeration value="LIN-CLUSTER"/>
         <xsd:enumeration value="LIN-EVENT-TRIGGERED-FRAME"/>
         <xsd:enumeration value="LIN-FRAME"/>
         <xsd:enumeration value="LIN-SPORADIC-FRAME"/>
         <xsd:enumeration value="LIN-TP-CONFIG"/>
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
         <xsd:enumeration value="MULTIPLEXED-I-PDU"/>
         <xsd:enumeration value="N-PDU"/>
         <xsd:enumeration value="NM-CONFIG"/>
         <xsd:enumeration value="NM-PDU"/>
         <xsd:enumeration value="PDU"/>
         <xsd:enumeration value="PDUR-I-PDU-GROUP"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-PROPS-SET"/>
         <xsd:enumeration value="SECURED-I-PDU"/>
         <xsd:enumeration value="SO-AD-ROUTING-GROUP"/>
         <xsd:enumeration value="SOMEIP-TP-CONFIG"/>
         <xsd:enumeration value="TP-CONFIG"/>
         <xsd:enumeration value="TTCAN-CLUSTER"/>
         <xsd:enumeration value="USER-DEFINED-CLUSTER"/>
         <xsd:enumeration value="USER-DEFINED-ETHERNET-FRAME"/>
         <xsd:enumeration value="USER-DEFINED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PDU"/>
         <xsd:enumeration value="XCP-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FibexCore::FibexElementRefConditional -->
   <xsd:group name="FIBEX-ELEMENT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FibexElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIBEX-ELEMENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FibexElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FIBEX-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FibexElementRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FibexCore::FibexElementRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="FIBEX-ELEMENT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FibexElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FlatMap::FlatInstanceDescriptor -->
   <xsd:group name="FLAT-INSTANCE-DESCRIPTOR">
      <xsd:annotation>
         <xsd:documentation>Represents exactly one node (e.g. a component instance or data element) of the instance tree of a software system. The purpose of this element is to map the various nested representations of this instance to a flat representation and assign a unique name (shortName) to it.

Use cases: 
* Specify unique names of measurable data to be used by MCD tools
* Specify unique names of calibration data to be used by MCD tool
* Specify a unique name for an instance of a component prototype in the ECU extract of the system description

Note that in addition it is possible to assign alias names via AliasNameAssignment.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The role denotes the particular role of the downstream memory location described by this FlatInstanceDescriptor.

It applies to use case where one upstream object results in multiple downstream objects, e.g. ModeDeclarationGroupPrototypes which are measurable. In this case the RTE will provide locations for current mode, previous mode and next mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor.role";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>The properties of this FlatInstanceDescriptor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPSTREAM-REFERENCE-IREF" type="AR:ANY-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to the instance in the context of an "upstream" descriptions, wich could be the system or system extract description, the basic software module description or (if a flat map is used in preliminary context) a description of an atomic component or composition. This reference is optional in case the flat map is used in ECU context.

The reference shall be such that it uniquely defines the object instance in the given context. For example, if a data prototype is declared as a role within an SwcInternalBehavior, it is not enough to state the SwcInternalBehavior as context and the aggregated data prototype as target. In addition, the reference shall also include the complete path identifying the instance of the component prototype that contains the particular instance of SwcInternalBehavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor.upstreamReference";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-EXTRACT-REFERENCE-IREF" type="AR:ANY-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to the instance in the ECU extract. This is valid only, if the FlatMap is used in the context of an ECU extract.

The reference shall be such that it uniquely defines the object instance. For example, if a data prototype is declared as a role within an SwcInternalBehavior, it is not enough to state the SwcInternalBehavior as context and the aggregated data prototype as target. In addition, the reference shall also include the complete path identifying instance of the component prototype and the AtomicSoftwareComponentType, which is refered by the particular SwcInternalBehavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor.ecuExtractReference";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlatMap::FlatInstanceDescriptor -->
   <xsd:complexType abstract="false" mixed="false" name="FLAT-INSTANCE-DESCRIPTOR">
      <xsd:annotation>
         <xsd:documentation>Represents exactly one node (e.g. a component instance or data element) of the instance tree of a software system. The purpose of this element is to map the various nested representations of this instance to a flat representation and assign a unique name (shortName) to it.

Use cases: 
* Specify unique names of measurable data to be used by MCD tools
* Specify unique names of calibration data to be used by MCD tool
* Specify a unique name for an instance of a component prototype in the ECU extract of the system description

Note that in addition it is possible to assign alias names via AliasNameAssignment.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlatInstanceDescriptor"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FLAT-INSTANCE-DESCRIPTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLAT-INSTANCE-DESCRIPTOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLAT-INSTANCE-DESCRIPTOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FlatMap::FlatMap -->
   <xsd:group name="FLAT-MAP">
      <xsd:annotation>
         <xsd:documentation>Contains a flat list of references to software objects. This list is used to identify instances and to resolve name conflicts. The scope is given by the RootSwCompositionPrototype for which it is used, i.e. it can be applied to a system, system extract or ECU-extract.

An instance of FlatMap may also be used in a preliminary context, e.g. in the scope of a software component before integration into a system. In this case it is not referred by a RootSwCompositionPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FlatMaps";mmt.qualifiedName="FlatMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANCES">
            <xsd:annotation>
               <xsd:documentation>A descriptor instance aggregated in the flat map. 

The variation point accounts for the fact, that the system in scope can be subject to variability, and thus the existence of some instances is variable.

The aggregation has been made splitable because the content might be contributed by different stakeholders at different times in the workflow. Plus, the overall size might be so big that eventually it becomes more manageable if it is distributed over several files.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="FlatMap.instance";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLAT-INSTANCE-DESCRIPTOR" type="AR:FLAT-INSTANCE-DESCRIPTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlatMap::FlatMap -->
   <xsd:complexType abstract="false" mixed="false" name="FLAT-MAP">
      <xsd:annotation>
         <xsd:documentation>Contains a flat list of references to software objects. This list is used to identify instances and to resolve name conflicts. The scope is given by the RootSwCompositionPrototype for which it is used, i.e. it can be applied to a system, system extract or ECU-extract.

An instance of FlatMap may also be used in a preliminary context, e.g. in the scope of a software component before integration into a system. In this case it is not referred by a RootSwCompositionPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="FlatMaps";mmt.qualifiedName="FlatMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:FLAT-MAP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLAT-MAP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLAT-MAP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FlexrayCommunication::FlexrayAbsolutelyScheduledTiming -->
   <xsd:group name="FLEXRAY-ABSOLUTELY-SCHEDULED-TIMING">
      <xsd:annotation>
         <xsd:documentation>Each frame in FlexRay is identified by its slot id and communication cycle. A description is provided by the usage of AbsolutelyScheduledTiming. 

In the static segment a frame can be sent multiple times within one communication cycle. For describing this case multiple AbsolutelyScheduledTimings have to be used. The main use case would be that a frame is sent twice within one communication cycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayAbsolutelyScheduledTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CYCLE">
            <xsd:annotation>
               <xsd:documentation>The communication cycle where the frame is sent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayAbsolutelyScheduledTiming.communicationCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CYCLE-COUNTER" type="AR:CYCLE-COUNTER"/>
                  <xsd:element name="CYCLE-REPETITION" type="AR:CYCLE-REPETITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SLOT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>In the static part the SlotID defines the slot in which the frame is transmitted. 
The SlotID also determines, in combination with FlexrayCluster::numberOfStaticSlots, whether the frame is sent in static or dynamic segment. 
In the dynamic part, the slot id is equivalent to a priority. Lower dynamic slot ids are all sent until the end of the dynamic segment. Higher numbers, which were ignored that time, have to wait one cycle and then must try again.

minValue: 1
maxValue: 2047</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayAbsolutelyScheduledTiming.slotID";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayCommunication::FlexrayAbsolutelyScheduledTiming -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-ABSOLUTELY-SCHEDULED-TIMING">
      <xsd:annotation>
         <xsd:documentation>Each frame in FlexRay is identified by its slot id and communication cycle. A description is provided by the usage of AbsolutelyScheduledTiming. 

In the static segment a frame can be sent multiple times within one communication cycle. For describing this case multiple AbsolutelyScheduledTimings have to be used. The main use case would be that a frame is sent twice within one communication cycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayAbsolutelyScheduledTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FLEXRAY-ABSOLUTELY-SCHEDULED-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayArTpChannel -->
   <xsd:group name="FLEXRAY-AR-TP-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>A channel is a group of connections sharing several properties.

The FlexRay AutosarTransport Layer supports several channels. These channels can work concurrently, thus each of them requires its own state machine and management data structures and its own PDU-IDs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACK-TYPE" type="AR:FR-AR-TP-ACK-TYPE">
            <xsd:annotation>
               <xsd:documentation>Type of Acknowledgement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.ackType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>With this switch Tx and Rx Cancellation can be turned on or off.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.cancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTENDED-ADDRESSING" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Adressing Type of this connection:
true: Two Bytes
false: One Byte</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.extendedAddressing";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLOW-CONTROL-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the  Flow Control NPdu.
Please note that this reference is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayArTpChannel.flowControlPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-AR" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum number of trying to send a frame when a TIMEOUT AR occurs (depending on whether retry is configured).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.maxAr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-AS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum number of trying to send a frame when a TIMEOUT AS occurs (depending on whether retry is configured).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.maxAs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-BS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the number of consecutive CFs between two FCs (block size). Valid values are 1 .. 16 when retry is activated, and 0 .. 255 otherwise.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.maxBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-BUFFER-REQUEST" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is deprecated and will be removed in future.

maxFcWait will be used instead to configure the maximum number of wait frames on receiver side. On the sender side, timeCs defines the maximum time for retries.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayArTpChannel.maxBufferRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-FC-WAIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximal number of wait frames to be sent for a pending connection. Range is 0..255.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.maxFcWait";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-FR-IF" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is deprecated and will be removed in future.

Old description:
This attribute defines the maximum number of trying to send a frame when the FrIf returns an error.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";mmt.qualifiedName="FlexrayArTpChannel.maxFrIf";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-RETRIES" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum number of retries (if retry is configured for the particular channel).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.maxRetries";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-MESSAGE-LENGTH" type="AR:MAXIMUM-MESSAGE-LENGTH-TYPE">
            <xsd:annotation>
               <xsd:documentation>This specifies the maximum message length for the particular channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.maximumMessageLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-MULTICAST-SEPERATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the minimum amount of time between two succeeding CFs of a 1:n segmented transmission in seconds. Valid values are 0, 100µs, 200µs ... 900µs, 1ms, 2ms .. 127ms. The value can be changed at runtime using the FrArTp_ChangeParameter interface.

minimumMulticastSeparationTime must be an integer multiple of the cycle length multiplied with the multiplexing factor, i.e. minimumMulticastSeparationTime = n * cycle * m, where n is an integer &gt;= 0, cycle is FlexrayCluster.cycle, and m is the cycle multiplexor of those cycles where PDUs of the PDU pool are scheduled. 
Please note: Due to the scheduling strategies of FrTp, minimumMulticastSeparationTime can only be kept to a degree defined by the maximum temporal distance of the PDUs of a PDU pool within one FlexRay cycle.

Range: 0 .. 0.127</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.minimumMulticastSeperationTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-SEPARATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the minimum amount of time between two succeeding CFs of a 1:1 segmented transmission in seconds. Valid values are 0, 100µs, 200µs .. 900µs, 1ms, 2ms .. 127ms. The value can be changed at runtime using the FrArTp_ChangeParameter interface.

The minimumSeparationTime must be an integer multiple of the cycle length multiplied with the multiplexing factor, i.e. minimumSeparationTime = n * cycle * m, where n is an integer &gt;=0, cycle is FlexrayCluster.cycle, and m is the cycle multiplexor of those cycles where PDUs of the PDU pool are scheduled. 

Please note: Due to the scheduling strategies of FrTp, minimumSeparationTime can only be kept to a degree defined by the maximum temporal distance of the PDUs of a PDU pool within one FlexRay cycle.

Range: 0 .. 0.127</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.minimumSeparationTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-SEGMENTATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute defines whether segmentation within a 1:n connection is allowed or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.multicastSegmentation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="N-PDU-REFS">
            <xsd:annotation>
               <xsd:documentation>A FlexRayTpChannel references a set of NPdus. These NPdus are logically assembled into a pool of Rx NPdus and another pool of Tx NPdus. It must be ensured that a second channel either references all NPdus of such a pool, or none.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.nPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="N-PDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-POOLS">
            <xsd:annotation>
               <xsd:documentation>Please note that this aggregation is deprecated and will be removed in future. 
The nPdu reference will be used instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayArTpChannel.pduPool";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="N-PDU" type="AR:N-PDU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the time in seconds between receiving the last CF of a block or an FF-x (or SF-x) and sending out an FC or AF.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.timeBr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BUFFER" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is deprecated and will be removed in future.

timeBr will be used instead to configure the delay between two wait frames (and thus two buffer requests) on receiver side. On sender side, the main task cycle will be used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayArTpChannel.timeBuffer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-CS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the time in seconds between the sending of two consecutive frames or between a consecutive frame and a flow control (for Transmit Cancellation) or between reception of an flow control or Acknowledgement Frame and sending of the next consecutive frame or a  flow control (for Transmit Cancellation).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.timeCs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-FR-IF" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is deprecated and will be removed in future.

Old description:
This attribute defines the time in seconds of waiting for the next try (if retry is activated) to send via FrIf_Transmit. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";mmt.qualifiedName="FlexrayArTpChannel.timeFrIf";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute states the timeout in seconds between the PDU transmit request of the Transport Layer to the FlexRay Interface and the corresponding confirmation of the FlexRay Interface on the receiver side (for FC or AF).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.timeoutAr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute states the timeout in seconds between the PDU transmit request for the first PDU of the group used in the current connection of the Transport Layer to the FlexRay Interface and the corresponding confirmation of the FlexRay Interface (when having sent the last PDU of the group used in this connection) on the sender side (SF-x, FF-x, CF).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.timeoutAs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-BS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the timeout in seconds for waiting for an FC or AF on the sender side in a 1:1 connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.timeoutBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the timeout value in seconds for waiting for a CF or FF-x (in case of retry) after receiving the last CF or after sending an FC or AF on the receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.timeoutCr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>Group of connections that can be used in this channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-AR-TP-CONNECTION" type="AR:FLEXRAY-AR-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMIT-CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute states whether Transmit Cancellation is supported on this channel. When not set, the value of this attribute may be specified by the ECU integrator.

Please note that this attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="FlexrayArTpChannel.transmitCancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayArTpChannel -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-AR-TP-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>A channel is a group of connections sharing several properties.

The FlexRay AutosarTransport Layer supports several channels. These channels can work concurrently, thus each of them requires its own state machine and management data structures and its own PDU-IDs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FLEXRAY-AR-TP-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayArTpConfig -->
   <xsd:group name="FLEXRAY-AR-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one FlexRay Autosar TP Configuration. 

One FlexrayArTpConfig element shall be created for each FlexRay Network in the System that uses FlexRay Autosar TP.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="FlexrayArTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConfig.tpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TP-ADDRESS" type="AR:TP-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CHANNELS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConfig.tpChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-AR-TP-CHANNEL" type="AR:FLEXRAY-AR-TP-CHANNEL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-NODES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConfig.tpNode";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-AR-TP-NODE" type="AR:FLEXRAY-AR-TP-NODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayArTpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-AR-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one FlexRay Autosar TP Configuration. 

One FlexrayArTpConfig element shall be created for each FlexRay Network in the System that uses FlexRay Autosar TP.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="FlexrayArTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:FLEXRAY-AR-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayArTpConnection -->
   <xsd:group name="FLEXRAY-AR-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection within a channel identifies the sender and the receiver of this particular communication.

The FlexRay Autosar Tp module routes a Pdu through this connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTION-PRIO-PDUS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the number of PDUs that shall be reserved for this connection when it is active. The range is 1-255.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection.connectionPrioPdus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECT-TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the IPdu that is segmented by the Transport Protocol. 

The source address of the transmitted NPdu is determined by the configured source CommunicationConnector.
The target address of the transmitted NPdu is determined by the configured target CommunicationConnector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection.directTpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLOW-CONTROL-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Please note that this reference is deprecated and will be removed in future. 
The PDU pool referenced by the FlexRayArTpChannel as nPdu will be used instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayArTpConnection.flowControlPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-REF">
            <xsd:annotation>
               <xsd:documentation>TP address for 1:n connections.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection.multicast";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REVERSED-TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the IPdu that is segmented by the Transport Protocol. 
If support of both sending and receiving is used, this association references the IPdu used for the additional second direction.

The source address of the transmitted NPdu is determined by the configured target CommunicationConnector.
The target address of the transmitted NPdu is determined by the configured source CommunicationConnector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection.reversedTpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The source of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection.source";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-AR-TP-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REFS">
            <xsd:annotation>
               <xsd:documentation>The target of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection.target";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TARGET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FLEXRAY-AR-TP-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMIT-PDU-REFS">
            <xsd:annotation>
               <xsd:documentation>Please note that this reference is deprecated and will be removed in future. 
The PDU pool referenced by the FlexRayArTpChannel as nPdu will be used instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayArTpConnection.transmitPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRANSMIT-PDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayArTpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-AR-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection within a channel identifies the sender and the receiver of this particular communication.

The FlexRay Autosar Tp module routes a Pdu through this connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-CONNECTION"/>
         <xsd:group ref="AR:FLEXRAY-AR-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayArTpNode -->
   <xsd:group name="FLEXRAY-AR-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTOR-REFS">
            <xsd:annotation>
               <xsd:documentation>Association  to one or more physical connectors (max number of connectors for FlexRay: 2).

In a System Description this reference is mandatory. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpNode.connector";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONNECTOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FLEXRAY-COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the TP Address that is used by the TpNode. This reference is optional in case that the multicast TP Address is used (reference from TpConnection).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpNode.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpNode.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayArTpNode -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-AR-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayArTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FLEXRAY-AR-TP-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-AR-TP-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-AR-TP-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FlexrayTopology::FlexrayCluster -->
   <xsd:group name="FLEXRAY-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the physicalCluster</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="FlexrayCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLEXRAY-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.FlexrayClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-CLUSTER-CONDITIONAL" type="AR:FLEXRAY-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayCluster -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the physicalCluster</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="FlexrayCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:FLEXRAY-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FlexrayTopology::FlexrayClusterConditional -->
   <xsd:group name="FLEXRAY-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:FLEXRAY-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:FLEXRAY-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FlexrayTopology::FlexrayClusterContent -->
   <xsd:group name="FLEXRAY-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTION-POINT-OFFSET" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The offset of the action point in networks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.actionPointOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BIT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Nominal bit time (= 1 / fx:SPEED). gdBit = cSamplesPerBit * gdSampleClockPeriod. Unit: seconds (gdBit)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.bit";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAS-RX-LOW-MAX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Upper limit of the Collision Avoidance Symbol (CAS) acceptance window. Unit:bitDuration</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.casRxLowMax";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COLD-START-ATTEMPTS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum number of times that a node in this cluster is permitted to attempt to start the cluster by initiating schedule synchronization</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.coldStartAttempts";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Length of the cycle. Unit: seconds</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.cycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-COUNT-MAX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum cycle counter value in a given cluster.
Remark: Set to 63 for FlexRay Protocol 2.1 Rev. A compliance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.cycleCountMax";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DETECT-NIT-ERROR" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates whether NIT error status of each cluster shall be detected or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.detectNitError";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-SLOT-IDLE-PHASE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The duration of the dynamic slot idle phase in minislots.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.dynamicSlotIdlePhase";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IGNORE-AFTER-TX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Duration for which the bitstrobing is paused after transmission [gdBit].</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.ignoreAfterTx";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LISTEN-NOISE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Upper limit for the start up and wake up listen timeout in the presence of noise. Expressed as a multiple of the cluster constant pdListenTimeout. Unit microticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.listenNoise";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MACRO-PER-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The number of macroticks in a communication cycle</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.macroPerCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MACROTICK-DURATION" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Duration of the cluster wide nominal macrotick, expressed in s.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.macrotickDuration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-WITHOUT-CLOCK-CORRECTION-FATAL" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Threshold concerning vClockCorrectionFailedCounter. Defines the number of consecutive even/odd Cycle pairs with missing clock correction terms that will cause the protocol to transition from the POC:normal active or POC:normal passive state into the POC:halt state.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.maxWithoutClockCorrectionFatal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-WITHOUT-CLOCK-CORRECTION-PASSIVE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Threshold concerning vClockCorrectionFailedCounter. Defines the number of consecutive even/odd Cycle pairs with missing clock correction terms that will cause the protocol to transition from the POC:normal active state to the POC:normal passive state.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.maxWithoutClockCorrectionPassive";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINISLOT-ACTION-POINT-OFFSET" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The Offset of the action point within a minislot. Unit: macroticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.minislotActionPointOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINISLOT-DURATION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The duration of a minislot (dynamic segment). Unit: macroticks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.minislotDuration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-IDLE-TIME" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The duration of the network idle time in macroticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.networkIdleTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-MANAGEMENT-VECTOR-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of the Network Management vector in a cluster [bytes]</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.networkManagementVectorLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUMBER-OF-MINISLOTS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of Minislots in the dynamic segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.numberOfMinislots";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUMBER-OF-STATIC-SLOTS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The number of static slots in the static segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.numberOfStaticSlots";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSET-CORRECTION-START" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Start of the offset correction phase within the Network Idle Time (NIT), expressed as the number of macroticks from the start of cycle. Unit: macroticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.offsetCorrectionStart";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PAYLOAD-LENGTH-STATIC" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Globally configured payload length of a static frame. Unit: 16-bit WORDS.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.payloadLengthStatic";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SAFETY-MARGIN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Additional timespan in macroticks which takes jitter into account to be able to set the JobListPointer to the next possible job which can be executed in case the FlexRay Job List Execution Function has be resynchronized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.safetyMargin";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SAMPLE-CLOCK-PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Sample clock period. Unit: seconds</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.sampleClockPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATIC-SLOT-DURATION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The duration of a slot in the static segment. Unit: macroticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.staticSlotDuration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL-WINDOW" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The duration of the symbol window. Unit: macroticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.symbolWindow";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL-WINDOW-ACTION-POINT-OFFSET" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of macroticks the action point offset is from the beginning of the symbol window [Macroticks].</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.symbolWindowActionPointOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-FRAME-ID-COUNT-MAX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum number of distinct syncframe identifiers present in a given cluster. This parameter maps to FlexRay Protocol 2.1  Rev. A parameter gSyncNodeMax.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.syncFrameIdCountMax";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANCEIVER-STANDBY-DELAY" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The duration of timer t_TrcvStdbyDelay in seconds. The granularity of this parameter shall be restricted to full FlexRay cycles (cycle). The transceiver status setting to STANDBY shall be delayed by this value.

Not specifying a value or a value of 0 shall imply that the timer is not used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.tranceiverStandbyDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMISSION-START-SEQUENCE-DURATION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of bits in the Transmission Start Sequence [gdBits].</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.transmissionStartSequenceDuration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKEUP-RX-IDLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of bits used by the node to test the duration of the 'idle' or HIGH phase of a received wakeup. 
Unit:bitDuration
Remarks: This parameter maps to FlexRay Protocol 2.1 Rev. A parameter gdWakeupSymbolRxIdle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.wakeupRxIdle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKEUP-RX-LOW" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of bits used by the node to test the duration of the LOW phase of a received wakeup. Unit:bitDuration 
Remarks: This parameter maps to FlexRay Protocol 2.1 Rev. A parameter gdWakeupSymbolRxLow.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.wakeupRxLow";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKEUP-RX-WINDOW" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size of the window used to detect wakeups [gdBit]. 
Remarks: This parameter maps to FlexRay Protocol 2.1 Rev. A parameter gdWakeupSymbolRxWindow.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.wakeupRxWindow";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKEUP-TX-ACTIVE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of bits used by the node to transmit the LOW phase of awakeup symbol and  the HIGH and LOW phases of a WUDOP. Unit:bitDuration</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.wakeupTxActive";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKEUP-TX-IDLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of bits used by the node to transmit the 'idle' part of a
wakeup symbol. 
Unit: gDbit</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCluster.wakeupTxIdle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class FlexrayTopology::FlexrayCommunicationConnector -->
   <xsd:group name="FLEXRAY-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the CommunicationConnector</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-READY-SLEEP-TIME" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>The value of this attribute influences the shutdown behavior of the FlexRay NM. FrNm switches to bus sleep mode nmReadySleepTime seconds after  the completion of the last repetition cycle containing a NM vote.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationConnector.nmReadySleepTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-FILTER-DATA-MASK" type="AR:POSITIVE-UNLIMITED-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Bit mask for FlexRay Payload used to configure the FlexRay Transceiver for partial network wakeup.

This attribute should not be computed from the pncIdentifier values in order to support future introduction of additional PNCs. 

Note that for one EcuInstance all contributing pncFilterDataMask will be bitwise ORed to obtain the value of FrNmPnFilterMaskByte. Note that this data mask is calculated over the whole payload (8 Byte) of the NmPdu ignoring the leading bytes which do not contain pncVector information. The number of leading bytes which shall be ignored is equivalent to the value of System.pncVectorOffset.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationConnector.pncFilterDataMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKE-UP-CHANNEL" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Referenced channel used by the node to send a wakeup pattern. (pWakeupChannel)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationConnector.wakeUpChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayCommunicationConnector -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the CommunicationConnector</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:FLEXRAY-COMMUNICATION-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-COMMUNICATION-CONNECTOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONNECTOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class FlexrayTopology::FlexrayCommunicationController -->
   <xsd:group name="FLEXRAY-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>FlexRay bus specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLEXRAY-COMMUNICATION-CONTROLLER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.FlexrayCommunicationControllerVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-COMMUNICATION-CONTROLLER-CONDITIONAL" type="AR:FLEXRAY-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayCommunicationController -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>FlexRay bus specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:FLEXRAY-COMMUNICATION-CONTROLLER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FlexrayTopology::FlexrayCommunicationControllerConditional -->
   <xsd:group name="FLEXRAY-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationControllerConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayCommunicationControllerConditional -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:FLEXRAY-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:FLEXRAY-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FlexrayTopology::FlexrayCommunicationControllerContent -->
   <xsd:group name="FLEXRAY-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCEPTED-STARTUP-RANGE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Expanded range of measured clock deviation allowed for startup frames during integration. Unit:microtick</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.acceptedStartupRange";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOW-HALT-DUE-TO-CLOCK" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Boolean flag that controls the transition to the POC:halt state due to a clock synchronization errors. 
If set to true, the Communication Controller is allowed to transition to POC:halt. 
If set to false, the Communication Controller will not transition to the POC:halt state but will enter or remain in the normal POC (passive State).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.allowHaltDueToClock";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOW-PASSIVE-TO-ACTIVE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of consecutive even/odd cycle pairs that must have valid clock correction terms before the Communication Controller will be allowed to transition from the POC:normal passive state to POC:normal active state. If set to 0, the Communication Controller is not allowed to transition from POC:norm</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.allowPassiveToActive";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLUSTER-DRIFT-DAMPING" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The cluster drift damping factor used in clock synchronization rate correction in microticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.clusterDriftDamping";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DECODING-CORRECTION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value used by the receiver to calculate the difference between primary time reference point and secondary time reference point. Unit: Microticks (pDecodingCorrection)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.decodingCorrection";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DELAY-COMPENSATION-A" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value used to compensate for reception delays on channel A Unit: Microticks. This optional parameter shall only be filled out if channel A is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.delayCompensationA";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DELAY-COMPENSATION-B" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value used to compensate for reception delays on channel B. Unit: Microticks. This optional parameter shall only be filled out if channel B is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.delayCompensationB";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTERN-OFFSET-CORRECTION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Fixed amount added or subtracted to the calculated offset correction term to facilitate external offset correction, expressed in node-local microticks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.externOffsetCorrection";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTERN-RATE-CORRECTION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Fixed amount added or subtracted to the calculated rate correction term to facilitate external rate correction, expressed in node-local microticks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.externRateCorrection";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTERNAL-SYNC" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating whether the node is externally synchronized (operating as Time Gateway Sink in an TT-E Time Triggered External Sync cluster) or locally synchronized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.externalSync";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FALL-BACK-INTERNAL" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating whether a Time Gateway Sink node will switch to local clock operation when synchronization with the Time Gateway Source node is lost (pFallBackInternal = true) or will instead go to POC:ready (pFallBackInternal = false).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.fallBackInternal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLEXRAY-FIFOS">
            <xsd:annotation>
               <xsd:documentation>One First In First Out (FIFO) queued receive structure, defining the admittance criteria to the FIFO.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.flexrayFifo";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-FIFO-CONFIGURATION" type="AR:FLEXRAY-FIFO-CONFIGURATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY-SLOT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>ID of the slot used to transmit the startup frame, sync frame, or designated single slot frame.
If the attributes keySlotUsedForStartUp, keySlotUsedForSync, or keySlotOnlyEnabled are set to true the key slot value is mandatory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.keySlotID";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY-SLOT-ONLY-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating whether or not the node shall enter key slot only mode following startup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.keySlotOnlyEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY-SLOT-USED-FOR-START-UP" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating whether the Key Slot is used to transmit a startup frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.keySlotUsedForStartUp";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY-SLOT-USED-FOR-SYNC" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating whether the Key Slot is used to transmit a sync frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.keySlotUsedForSync";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LATEST-TX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The number of the last minislot in which a transmission can start in the dynamic segment for the respective node</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.latestTX";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LISTEN-TIMEOUT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Value for the startup listen timeout and wakeup listen timeout. Although this is a node local parameter, the real time equivalent of this value should be the same for all nodes in the cluster. Unit: Microticks</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.listenTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MACRO-INITIAL-OFFSET-A" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Integer number of macroticks between the static slot boundary and the closest macrotick boundary of the secondary time reference point based on the nominal macrotick duration. (pMacroInitialOffset). This optional parameter shall only be filled out if channel A is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.macroInitialOffsetA";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MACRO-INITIAL-OFFSET-B" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Integer number of macroticks between the static slot boundary and the closest macrotick boundary of the secondary time reference point based on the nominal macrotick duration. (pMacroInitialOffset). This optional parameter shall only be filled out if channel B is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.macroInitialOffsetB";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-DYNAMIC-PAYLOAD-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum payload length for the dynamic channel of a frame in 16 bit WORDS.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.maximumDynamicPayloadLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MICRO-INITIAL-OFFSET-A" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of microticks between the closest macrotick boundary described by gMacroInitialOffset and the secondary time reference point.  The parameter depends on pDelayCompensationA and therefore it has to be set independently for each channel. This optional parameter shall only be filled out if channel A is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.microInitialOffsetA";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MICRO-INITIAL-OFFSET-B" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of microticks between the closest macrotick boundary described by gMacroInitialOffset and the secondary time reference point.  The parameter depends on pDelayCompensationB and therefore it has to be set independently for each channel. This optional parameter shall only be filled out if channel B is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.microInitialOffsetB";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MICRO-PER-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The nominal number of microticks in a communication cycle</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.microPerCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MICROTICK-DURATION" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Duration of a microtick. This attribute can be derived from samplePerMicrotick and gdSampleClockPeriod. 
Unit: seconds</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.microtickDuration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-VECTOR-EARLY-UPDATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating when the update of the Network Management Vector in the CHI shall take place. If set to false, the update shall take place after the NIT. If set to true, the update shall take place after the end of the static segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.nmVectorEarlyUpdate";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSET-CORRECTION-OUT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Magnitude of the maximum permissible offset correction value. Unit:microtick (pOffsetCorrectionOut)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.offsetCorrectionOut";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RATE-CORRECTION-OUT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Magnitude of the maximum permissible rate correction value and the maximum drift offset between two nodes operating with unsynchronized clocks for one communication cycle. Unit:Microticks (pRateCorrectionOut)

Remarks: This parameter maps to FlexRay 
Protocol 2.1 Rev. A parameter pdMaxDrift.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.rateCorrectionOut";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SAMPLES-PER-MICROTICK" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of samples per microtick</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.samplesPerMicrotick";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-KEY-SLOT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>ID of the second Key slot, in which a second startup frame shall be sent in TT-L Time Triggered Local Master Sync or TT-E Time Triggered External Sync mode. If this parameter is set to zero the node does not have a second key slot.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.secondKeySlotId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TWO-KEY-SLOT-MODE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag indicating whether node operates as a startup node in a TT-E Time Triggered External Sync or TT-L Time Triggered Local Master Sync cluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.twoKeySlotMode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKE-UP-PATTERN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of repetitions of the Tx-wakeup symbol to be sent during the CC_WakeupSend state of this Node in the cluster</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayCommunicationController.wakeUpPattern";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class FlexrayTopology::FlexrayFifoConfiguration -->
   <xsd:group name="FLEXRAY-FIFO-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>One First In First Out (FIFO) queued receive structure, defining the admittance criteria to the FIFO, and mandating the ability to admit messages into the FIFO based on Message Id filtering criteria.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADMIT-WITHOUT-MESSAGE-ID" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Boolean configuration which determines whether or not frames received in the dynamic segment that don't contain a message ID will be admitted into the FIFO.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.admitWithoutMessageId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>FIFO cycle counter acceptance criteria.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.baseCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>Fifo channel admittance criteria.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.channel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-REPETITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>FIFO cycle counter acceptance criteria.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.cycleRepetition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIFO-DEPTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>FrFifoDepth configures the maximum number of rx-frames which can be contained in the FIFO.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.fifoDepth";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIFO-RANGES">
            <xsd:annotation>
               <xsd:documentation>FIFO Frame Id range acceptance criteria.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.fifoRange";pureMM.maxOccurs="-1";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-FIFO-RANGE" type="AR:FLEXRAY-FIFO-RANGE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSG-ID-MASK" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>FIFO message identifier acceptance criteria (Mask filter).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.msgIdMask";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSG-ID-MATCH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>FIFO message identifier acceptance criteria (Match filter).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration.msgIdMatch";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayFifoConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-FIFO-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>One First In First Out (FIFO) queued receive structure, defining the admittance criteria to the FIFO, and mandating the ability to admit messages into the FIFO based on Message Id filtering criteria.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FLEXRAY-FIFO-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FlexrayTopology::FlexrayFifoRange -->
   <xsd:group name="FLEXRAY-FIFO-RANGE">
      <xsd:annotation>
         <xsd:documentation>FIFO Frame Id range acceptance criteria.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RANGE-MAX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Max Range.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoRange.rangeMax";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RANGE-MIN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Min Range.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoRange.rangeMin";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayFifoRange -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-FIFO-RANGE">
      <xsd:annotation>
         <xsd:documentation>FIFO Frame Id range acceptance criteria.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFifoRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FLEXRAY-FIFO-RANGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class FlexrayCommunication::FlexrayFrame -->
   <xsd:group name="FLEXRAY-FRAME">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific Frame element.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="FlexrayFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class FlexrayCommunication::FlexrayFrame -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-FRAME">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific Frame element.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="FlexrayFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:FLEXRAY-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FlexrayCommunication::FlexrayFrameTriggering -->
   <xsd:group name="FLEXRAY-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the FrameTriggering</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ABSOLUTELY-SCHEDULED-TIMINGS">
            <xsd:annotation>
               <xsd:documentation>Specification of a sending behaviour where the exact time for the frames transmission is guaranteed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFrameTriggering.absolutelyScheduledTiming";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-ABSOLUTELY-SCHEDULED-TIMING" type="AR:FLEXRAY-ABSOLUTELY-SCHEDULED-TIMING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOW-DYNAMIC-L-SDU-LENGTH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Allows L-PDU length reduction and indicates that the related CC buffer has to be reconfigured for the actual length and Header-CRC before transmission of the L-PDU. 

If this attribute is set to true than the referenced Frame length attribute defines the max. length.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFrameTriggering.allowDynamicLSduLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The first two bytes of the payload segment of the FlexRay frame format for frames transmitted in the dynamic segment can be used as receiver filterable data called the message ID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFrameTriggering.messageId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PAYLOAD-PREAMBLE-INDICATOR" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switching the Payload Preamble bit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFrameTriggering.payloadPreambleIndicator";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayCommunication::FlexrayFrameTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the FrameTriggering</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FRAME-TRIGGERING"/>
         <xsd:group ref="AR:FLEXRAY-FRAME-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::FlexrayNmCluster -->
   <xsd:group name="FLEXRAY-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific NM cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-BIT-POSITION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the bit position of the CarWakeUp within the NmPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmCarWakeUpBitPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-FILTER-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the CareWakeUp filtering is supported. In this case only the CarWakeUp bit within the NmPdu with source node identifier nmCarWakeUpFilterNodeId is considered as CarWakeUp request.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmCarWakeUpFilterEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-FILTER-NODE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Source node identifier for CarWakeUp filtering. If CarWakeUp filtering is supported (nmCarWakeUpFilterEnabled), only the CarWakeUp bit within the NmPdu with source node identifier nmCarWakeUpFilterNodeId is considered as CarWakeUp request.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmCarWakeUpFilterNodeId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CAR-WAKE-UP-RX-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true this attribute enables the support of CarWakeUp bit evaluation in received NmPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmCarWakeUpRxEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CONTROL-BIT-VECTOR-ACTIVE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Used to activate or deactivate the control bit vector support for a Fr Nm Channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmControlBitVectorActive";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-DATA-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of FlexRay Communication Cycles needed to transmit the Nm Data PDUs of all FlexRay Nm Ecus of this FlexRayNmCluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmDataCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-DATA-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch to enable the separated sending of NM-Data. 
True: enables
False: disables</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayNmCluster.nmDataEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-DETECTION-LOCK" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The time for which a node will not set the repeat message request bit even in the presence of a repeat message request (in seconds).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayNmCluster.nmDetectionLock";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MAIN-FUNCTION-PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the processing cycle of the main function of FrNm module.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmMainFunctionPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MESSAGE-TIMEOUT-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout of a NmPdu in seconds. It determines how long the NM shall wait with notification of transmission failure while communication errors occur on the bus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmMessageTimeoutTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-READY-SLEEP-COUNT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and will be removed in future.
nmReadySleepTime in the FlexrayCommunicationConnector shall be used instead to influence the shutdown behavior of the FlexRay Nm.

Old description:
Numbers of repetitions in the ready sleep state before NM switches to bus sleep mode. On a value of "1", the NM-State Machine will leave the Ready Sleep State after one NM Repetition Cycle with no "keep awake" votes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayNmCluster.nmReadySleepCount";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REMOTE-SLEEP-INDICATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for Remote Sleep Indication in seconds. It defines the time how long it shall take to recognize that all other nodes are ready to sleep.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmRemoteSleepIndicationTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MESSAGE-BIT-ACTIVE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Used to activate or deactivate the repeat message bit support for a Fr Nm Channel.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayNmCluster.nmRepeatMessageBitActive";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MESSAGE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for Repeat Message State in seconds. Defines the time how long the NM shall stay in the Repeat Message State.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmRepeatMessageTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPETITION-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of FlexRay Communication Cycles used to repeat the transmission of the Nm vote Pdus of all FlexRay NmEcus of this FlexRayNmCluster.  This value must be an integral multiple of nmVotingCycle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmRepetitionCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-VOTING-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of FlexRay CommunicationCycles needed to transmit the Nm vote of Pdus of all FlexRay NmEcus of this FlexRayNmCluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster.nmVotingCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::FlexrayNmCluster -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific NM cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-CLUSTER"/>
         <xsd:group ref="AR:FLEXRAY-NM-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-NM-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-NM-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class NetworkManagement::FlexrayNmClusterCoupling -->
   <xsd:group name="FLEXRAY-NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>FlexRay attributes that are valid for each of the referenced (coupled) FlexRay clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLED-CLUSTER-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to coupled FlexRay Clusters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmClusterCoupling.coupledCluster";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLED-CLUSTER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FLEXRAY-NM-CLUSTER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CONTROL-BIT-VECTOR-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables control bit vector support.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmClusterCoupling.nmControlBitVectorEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-DATA-DISABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Disables the transmission of NM-Data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayNmClusterCoupling.nmDataDisabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-SCHEDULE-VARIANT" type="AR:FLEXRAY-NM-SCHEDULE-VARIANT">
            <xsd:annotation>
               <xsd:documentation>FrNm schedule variant according to FrNm SWS.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmClusterCoupling.nmScheduleVariant";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::FlexrayNmClusterCoupling -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>FlexRay attributes that are valid for each of the referenced (coupled) FlexRay clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NM-CLUSTER-COUPLING"/>
         <xsd:group ref="AR:FLEXRAY-NM-CLUSTER-COUPLING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::FlexrayNmEcu -->
   <xsd:group name="FLEXRAY-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-HW-VOTE-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch for enabling the processing of FlexRay Hardware aggregated NM-Votes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmEcu.nmHwVoteEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MAIN-FUNCTION-ACROSS-FR-CYCLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Parameter describing if the execution of the FrNm_Main function crosses theFlexRay cycle boundary or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmEcu.nmMainFunctionAcrossFrCycle";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MESSAGE-BIT-ENABLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables/disables the repeat message bit support</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayNmEcu.nmRepeatMessageBitEnable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::FlexrayNmEcu -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUSSPECIFIC-NM-ECU"/>
         <xsd:group ref="AR:FLEXRAY-NM-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::FlexrayNmNode -->
   <xsd:group name="FLEXRAY-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-INSTANCE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The NM instance identifier is used for reporting of development errors to DET. It must be unique for each NM instance within one ECU.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.0";mmt.qualifiedName="FlexrayNmNode.nmInstanceId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::FlexrayNmNode -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-NODE"/>
         <xsd:group ref="AR:FLEXRAY-NM-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FlexrayTopology::FlexrayPhysicalChannel -->
   <xsd:group name="FLEXRAY-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the physicalChannel</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHANNEL-NAME" type="AR:FLEXRAY-CHANNEL-NAME">
            <xsd:annotation>
               <xsd:documentation>Name of the channel (Channel A or Channel B).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayPhysicalChannel.channelName";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FlexrayTopology::FlexrayPhysicalChannel -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>FlexRay specific attributes to the physicalChannel</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:FLEXRAY-PHYSICAL-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-PHYSICAL-CHANNEL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-PHYSICAL-CHANNEL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::FlexrayTpConfig -->
   <xsd:group name="FLEXRAY-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one FlexRay ISO TP Configuration. 

One FlexRayTpConfig element shall be created for each FlexRay Network in the System that uses FlexRay Iso Tp.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="FlexrayTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-POOLS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConfig.pduPool";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-TP-PDU-POOL" type="AR:FLEXRAY-TP-PDU-POOL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConfig.tpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TP-ADDRESS" type="AR:TP-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConfig.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-TP-CONNECTION" type="AR:FLEXRAY-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTION-CONTROLS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConfig.tpConnectionControl";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-TP-CONNECTION-CONTROL" type="AR:FLEXRAY-TP-CONNECTION-CONTROL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ECUS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConfig.tpEcu";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-TP-ECU" type="AR:FLEXRAY-TP-ECU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-NODES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConfig.tpNode";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLEXRAY-TP-NODE" type="AR:FLEXRAY-TP-NODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayTpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one FlexRay ISO TP Configuration. 

One FlexRayTpConfig element shall be created for each FlexRay Network in the System that uses FlexRay Iso Tp.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="FlexrayTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:FLEXRAY-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayTpConnection -->
   <xsd:group name="FLEXRAY-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The FlexRayTp module routes a Pdu through this connection. 

In a System Description the references to the PduPools are mandatory. In an ECU Extract these references can be optional:
On unicast connections these references are always mandatory.
On multicast the txPduPool is mandatory on the sender side. The rxPduPool is mandatory on the receiver side. On Gateway ECUs both references are mandatory.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BANDWIDTH-LIMITATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether the connection requires a  bandwidth limitation or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.bandwidthLimitation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECT-TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the IPdu that is segmented by the Transport Protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.directTpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-REF">
            <xsd:annotation>
               <xsd:documentation>TP address for 1:n connections.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.multicast";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVER-REFS">
            <xsd:annotation>
               <xsd:documentation>The target of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.receiver";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECEIVER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FLEXRAY-TP-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REVERSED-TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the IPdu that is segmented by the Transport Protocol. If support of both sending and receiving is used, this association references the IPdu used for the additional second direction.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.reversedTpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RX-PDU-POOL-REF">
            <xsd:annotation>
               <xsd:documentation>A connection has a reference to a set of NPdus (FrTpRxPduPool) which are
defined for receiving data via this particular connection. 

The following constraint is valid only for the System Extract/ECU Extract:
In case this connection is applied to the transmitter the rxPduPool holds the
actually received NPdus. In case this connection is applied to the receiver the rxPduPool holds the actually sent NPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.rxPduPool";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-TP-PDU-POOL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTION-CONTROL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the connection control.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.tpConnectionControl";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-TP-CONNECTION-CONTROL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMITTER-REF">
            <xsd:annotation>
               <xsd:documentation>The source of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.transmitter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-TP-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TX-PDU-POOL-REF">
            <xsd:annotation>
               <xsd:documentation>A connection has a reference to a set of NPdus (FrTpTxPduPool) which are
defined for sending data via this particular connection.

The following constraint is valid only for the System Extract/ECU Extract:
In case this connection is applied to the transmitter the txPduPool holds the
actually sent NPdus. In case this connection is applied to the receiver the
txPduPool holds the actually received NPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.txPduPool";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-TP-PDU-POOL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayTpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The FlexRayTp module routes a Pdu through this connection. 

In a System Description the references to the PduPools are mandatory. In an ECU Extract these references can be optional:
On unicast connections these references are always mandatory.
On multicast the txPduPool is mandatory on the sender side. The rxPduPool is mandatory on the receiver side. On Gateway ECUs both references are mandatory.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-CONNECTION"/>
         <xsd:group ref="AR:FLEXRAY-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayTpConnectionControl -->
   <xsd:group name="FLEXRAY-TP-CONNECTION-CONTROL">
      <xsd:annotation>
         <xsd:documentation>Configuration parameters to control a FlexRay TP connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACK-TYPE" type="AR:TP-ACK-TYPE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the type of acknowledgement which is used for the specific channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.ackType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-AR" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the maximum number of trying to send a frame when a TIMEOUT AR occurs (depending on whether retry is configured).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayTpConnectionControl.maxAr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-AS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the maximum number of trying to send a frame when a TIMEOUT AS occurs (depending on whether retry is configured)</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayTpConnectionControl.maxAs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-BUFFER-SIZE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute has the status "removed" and shall not be used any longer.

Old description:
This parameter is only relevant when having retry activated. It limits the maximal buffer size the FrTp can choose in order to limit the amount of Tx buffer that will be requested at the sender side in a segmented transfer. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="FlexrayTpConnectionControl.maxBufferSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-FC-WAIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum number of FlowControl N-PDUs with FlowState "WAIT".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.maxFcWait";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-FR-IF" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the maximum number of trying to send a frame when the FrIf returns an error</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayTpConnectionControl.maxFrIf";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-NPDU-PER-CYCLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter limits the number of N-Pdus the sender is allowed to transmit within a FlexRay cycle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.maxNumberOfNpduPerCycle";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-RETRIES" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the maximum number of retries (if retry is configured for the particular channel).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.maxRetries";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEPARATION-CYCLE-EXPONENT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Exponent to calculate the minimum number of "Separation Cycles" the sender has to wait for the next transmission of an FrTp N-Pdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.separationCycleExponent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time (in seconds) until transmission of the next FlowControl N-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeBr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BUFFER" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the time of waiting for the next try to get a Tx or Rx buffer.

This parameter is equivalent to the temporal distance between two FC.WT N-Pdus in case the buffer request returns busy.

Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeBuffer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-CS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time (in seconds) until transmission of the next ConsecutiveFrame NPdu / LastFrame NPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeCs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-FR-IF" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the time of waiting for the next try to send. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayTpConnectionControl.timeFrIf";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter states the timeout between the PDU transmit request of the Transport Layer to the FlexRay Interface and the corresponding confirmation of the FlexRay Interface on the receiver side (for FC or AF). Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeoutAr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute states the timeout between the PDU transmit request for the first PDU of the group used in the current connection of the Transport Layer to the FlexRay Interface and the corresponding confirmation of the FlexRay Interface (when having sent the last PDU of the group used in this connection) on the sender side (SF-x, FF-x, CF or FC (in case of Transmit Cancellation)). Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeoutAs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-BR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the timeout in seconds between the Pdu receive indication of the Transport Layer to the FlexRay Interface and the corresponding Pdu transmission of the FlexRay Interface on the receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayTpConnectionControl.timeoutBr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-BS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the timeout in seconds for waiting for an FC or AF on the sender side in a 1:1 connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeoutBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the timeout value in seconds for waiting for a CF or FF-x (in case of retry) after receiving the last CF or after sending an FC or AF on the receiver side. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.timeoutCr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the timeout in seconds to transmit the next ConsecutiveFrame NPdu or the last frame NPdu after receiving the flow control frame (CTS) from the sender side.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="FlexrayTpConnectionControl.timeoutCs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayTpConnectionControl -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-TP-CONNECTION-CONTROL">
      <xsd:annotation>
         <xsd:documentation>Configuration parameters to control a FlexRay TP connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpConnectionControl"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FLEXRAY-TP-CONNECTION-CONTROL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-TP-CONNECTION-CONTROL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-TP-CONNECTION-CONTROL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::FlexrayTpEcu -->
   <xsd:group name="FLEXRAY-TP-ECU">
      <xsd:annotation>
         <xsd:documentation>ECU specific TP configuration parameters. Each TpEcu element has a reference to exactly one ECUInstance in the topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>With this switch Tx and Rx Cancellation can be turned on or off.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu.cancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-TIME-MAIN-FUNCTION" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The period between successive calls to the Main Function of the AUTOSAR TP. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu.cycleTimeMainFunction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Connection to the ECUInstance in the Topology</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FULL-DUPLEX-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>The full duplex mechanisms is enabled if this attribute is set to true. Otherwise half duplex is enabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu.fullDuplexEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMIT-CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute states whether Transmit Cancellation is supported on this ECU.

Please note that this attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="FlexrayTpEcu.transmitCancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayTpEcu -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-TP-ECU">
      <xsd:annotation>
         <xsd:documentation>ECU specific TP configuration parameters. Each TpEcu element has a reference to exactly one ECUInstance in the topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FLEXRAY-TP-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::FlexrayTpNode -->
   <xsd:group name="FLEXRAY-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTOR-REFS">
            <xsd:annotation>
               <xsd:documentation>Asscociation  to one or more physical connectors (max number of connectors for FlexRay: 2).

In a System Description this reference is mandatory. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpNode.connector";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONNECTOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the TP Address that is used by the TpNode. This reference is optional in case that the multicast TP Address is used (reference from TpConnection).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpNode.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpNode.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayTpNode -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FLEXRAY-TP-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-TP-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-TP-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::FlexrayTpPduPool -->
   <xsd:group name="FLEXRAY-TP-PDU-POOL">
      <xsd:annotation>
         <xsd:documentation>FlexrayTpPduPool is a set of N-PDUs which are defined for FrTp sending or receiving purpose.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpPduPool"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="N-PDU-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to NPdus that are part of the PduPool.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpPduPool.nPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="N-PDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpPduPool.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::FlexrayTpPduPool -->
   <xsd:complexType abstract="false" mixed="false" name="FLEXRAY-TP-PDU-POOL">
      <xsd:annotation>
         <xsd:documentation>FlexrayTpPduPool is a set of N-PDUs which are defined for FrTp sending or receiving purpose.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayTpPduPool"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FLEXRAY-TP-PDU-POOL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-TP-PDU-POOL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLEXRAY-TP-PDU-POOL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AttributeValueVariationPoints::FloatValueVariationPoint -->
   <xsd:group name="FLOAT-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Float attributes.

Note that this class might be used in the extended meta-model only</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FloatValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::FloatValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="FLOAT-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Float attributes.

Note that this class might be used in the extended meta-model only</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FloatValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:FLOAT-VALUE-VARIATION-POINT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
   </xsd:complexType>
   <!-- element group for class SignalPaths::ForbiddenSignalPath -->
   <xsd:group name="FORBIDDEN-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The ForbiddenSignalPath describes the physical channels which an element must not take in the topology. Such a signal path can be a constraint for the communication matrix,  because such a path has an effect on the frame generation and the frame path.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ForbiddenSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATIONS">
            <xsd:annotation>
               <xsd:documentation>Reference to the operation arguments of one operation which must not take the predefined way in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ForbiddenSignalPath.operation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-OPERATION-ARGUMENTS" type="AR:SWC-TO-SWC-OPERATION-ARGUMENTS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-CHANNEL-REFS">
            <xsd:annotation>
               <xsd:documentation>The SwcToSwcSignal must not be transmitted on one of these physical channels.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ForbiddenSignalPath.physicalChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PHYSICAL-CHANNEL-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNALS">
            <xsd:annotation>
               <xsd:documentation>The data element which must not take the predefined way in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ForbiddenSignalPath.signal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-SIGNAL" type="AR:SWC-TO-SWC-SIGNAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SignalPaths::ForbiddenSignalPath -->
   <xsd:complexType abstract="false" mixed="false" name="FORBIDDEN-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The ForbiddenSignalPath describes the physical channels which an element must not take in the topology. Such a signal path can be a constraint for the communication matrix,  because such a path has an effect on the frame generation and the frame path.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ForbiddenSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SIGNAL-PATH-CONSTRAINT"/>
         <xsd:group ref="AR:FORBIDDEN-SIGNAL-PATH"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BuildActionManifest::ForeignModelReference -->
   <xsd:group name="FOREIGN-MODEL-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a late binding reference to a foreign model element. The foreign model element can be from every model. Even if it is modeled according to the association representation, it is not limited to refer to AUTOSAR model elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ForeignModelReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REF" type="AR:REF--SIMPLE">
            <xsd:annotation>
               <xsd:documentation>This is the full qualified name of the model element</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ForeignModelReference.ref";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="false";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class BuildActionManifest::ForeignModelReference -->
   <xsd:attributeGroup name="FOREIGN-MODEL-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a late binding reference to a foreign model element. The foreign model element can be from every model. Even if it is modeled according to the association representation, it is not limited to refer to AUTOSAR model elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ForeignModelReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="BASE" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This establishes the reference base.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="ForeignModelReference.base";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="DEST" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute represents the class of the referenced model element. It is a String, since the model element can be in any model. Therefore we cannot have any assumption here.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="ForeignModelReference.dest";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class BuildActionManifest::ForeignModelReference -->
   <xsd:complexType name="FOREIGN-MODEL-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a late binding reference to a foreign model element. The foreign model element can be from every model. Even if it is modeled according to the association representation, it is not limited to refer to AUTOSAR model elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ForeignModelReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REF--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:FOREIGN-MODEL-REFERENCE"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- element group for class FormulaLanguage::FormulaExpression -->
   <xsd:group name="FORMULA-EXPRESSION">
      <xsd:annotation>
         <xsd:documentation>This class represents the syntax of the formula language. The class is modeled as an abstract class in order to be specialized into particular use cases. For each use case the referable objects might be specified in the specialization.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FormulaExpression"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>atpReference skipped -->
         <!-- Association <<atpDerived>>atpStringReference skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class FR::FrGlobalTimeDomainProps -->
   <xsd:group name="FR-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>Enables the definition of Flexray GlobalTime specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFS-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="OFS-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for OFS messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="FrGlobalTimeDomainProps.ofsDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-DATA-ID-LISTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="16" minOccurs="0">
                  <xsd:element name="SYNC-DATA-ID-LIST" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The DataIDList for SYNC messages to calculate CRC.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="FrGlobalTimeDomainProps.syncDataIDList";pureMM.maxOccurs="16";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FR::FrGlobalTimeDomainProps -->
   <xsd:complexType abstract="false" mixed="false" name="FR-GLOBAL-TIME-DOMAIN-PROPS">
      <xsd:annotation>
         <xsd:documentation>Enables the definition of Flexray GlobalTime specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrGlobalTimeDomainProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-GLOBAL-TIME-DOMAIN-PROPS"/>
         <xsd:group ref="AR:FR-GLOBAL-TIME-DOMAIN-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::Frame -->
   <xsd:group name="FRAME">
      <xsd:annotation>
         <xsd:documentation>Data frame which is sent over a communication medium. This element describes the pure Layout of a frame sent on a channel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Frame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The used length (in bytes)  of the referencing frame. Should not be confused with a static byte length reserved for each frame by some platforms (e.g. FlexRay). 

The frameLength of zero bytes is allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Frame.frameLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-TO-FRAME-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Frame.pduToFrameMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PDU-TO-FRAME-MAPPING" type="AR:PDU-TO-FRAME-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="FRAME--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-ETHERNET-FRAME"/>
         <xsd:enumeration value="CAN-FRAME"/>
         <xsd:enumeration value="ETHERNET-FRAME"/>
         <xsd:enumeration value="FLEXRAY-FRAME"/>
         <xsd:enumeration value="FRAME"/>
         <xsd:enumeration value="GENERIC-ETHERNET-FRAME"/>
         <xsd:enumeration value="IEEE-1722-TP-ETHERNET-FRAME"/>
         <xsd:enumeration value="LIN-EVENT-TRIGGERED-FRAME"/>
         <xsd:enumeration value="LIN-FRAME"/>
         <xsd:enumeration value="LIN-SPORADIC-FRAME"/>
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
         <xsd:enumeration value="USER-DEFINED-ETHERNET-FRAME"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fibex4Multiplatform::FrameMapping -->
   <xsd:group name="FRAME-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The entire source frame is mapped as it is onto the target frame (what in general is only possible inside of a common platform). In this case source and target frame should be the identical object.

Each pair consists in a SOURCE and a TARGET referencing to a FrameTriggering.

The Frame Mapping is not supported by the Autosar BSW. The existence is optional and has been incorporated into the System Template mainly for compatibility in order to allow interchange between FIBEX and AUTOSAR descriptions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrameMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the frame mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameMapping.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>Source destination of the referencing mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameMapping.sourceFrame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>Target destination of the referencing mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameMapping.targetFrame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::FrameMapping -->
   <xsd:complexType abstract="false" mixed="false" name="FRAME-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The entire source frame is mapped as it is onto the target frame (what in general is only possible inside of a common platform). In this case source and target frame should be the identical object.

Each pair consists in a SOURCE and a TARGET referencing to a FrameTriggering.

The Frame Mapping is not supported by the Autosar BSW. The existence is optional and has been incorporated into the System Template mainly for compatibility in order to allow interchange between FIBEX and AUTOSAR descriptions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrameMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FRAME-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::FramePid -->
   <xsd:group name="FRAME-PID">
      <xsd:annotation>
         <xsd:documentation>Frame_PIDs that are included in the request. The "pid" attribute describes the value and the "index" attribute the position of the frame_PID in the request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FramePid"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to order the frame_PIDs. The values of index shall be unique within one AssignFrameIdRange.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FramePid.index";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Frame_PID value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FramePid.pid";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::FramePid -->
   <xsd:complexType abstract="false" mixed="false" name="FRAME-PID">
      <xsd:annotation>
         <xsd:documentation>Frame_PIDs that are included in the request. The "pid" attribute describes the value and the "index" attribute the position of the frame_PID in the request.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FramePid"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FRAME-PID"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::FramePort -->
   <xsd:group name="FRAME-PORT">
      <xsd:annotation>
         <xsd:documentation>Connectors reception or send port on the referenced channel referenced by a FrameTriggering.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FramePort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CoreCommunication::FramePort -->
   <xsd:complexType abstract="false" mixed="false" name="FRAME-PORT">
      <xsd:annotation>
         <xsd:documentation>Connectors reception or send port on the referenced channel referenced by a FrameTriggering.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FramePort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMM-CONNECTOR-PORT"/>
         <xsd:group ref="AR:FRAME-PORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FRAME-PORT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FRAME-PORT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::FrameTriggering -->
   <xsd:group name="FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The FrameTriggering describes the instance of a frame sent on a channel and defines the manner of triggering (timing information) and identification of a frame on the channel, on which it is sent.

For the same frame, if FrameTriggerings exist on more than one channel of the same cluster the fan-out/in is handled by the Bus interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-PORT-REFS">
            <xsd:annotation>
               <xsd:documentation>References to the FramePort on every ECU of the system which sends and/or
receives the frame.

References for both the sender and the receiver side shall be included when the system is completely defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameTriggering.framePort";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FRAME-PORT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FRAME-PORT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>One frame can be triggered several times, e.g. on different channels. If a frame has no frame triggering, it won't be sent at all. A frame triggering has assigned exactly one frame, which it triggers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameTriggering.frame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FRAME--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-TRIGGERINGS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameTriggering.pduTriggering";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PDU-TRIGGERING-REF-CONDITIONAL" type="AR:PDU-TRIGGERING-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="FrameTriggering.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="FRAME-TRIGGERING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-FRAME-TRIGGERING"/>
         <xsd:enumeration value="ETHERNET-FRAME-TRIGGERING"/>
         <xsd:enumeration value="FLEXRAY-FRAME-TRIGGERING"/>
         <xsd:enumeration value="FRAME-TRIGGERING"/>
         <xsd:enumeration value="LIN-FRAME-TRIGGERING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinCommunication::FreeFormat -->
   <xsd:group name="FREE-FORMAT">
      <xsd:annotation>
         <xsd:documentation>Representing freely defined data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FreeFormat"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BYTE-VALUES">
            <xsd:complexType>
               <xsd:choice maxOccurs="8" minOccurs="0">
                  <xsd:element name="BYTE-VALUE" type="AR:INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>The integer Value of a freely defined data byte.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="FreeFormat.byteValue";pureMM.maxOccurs="8";pureMM.minOccurs="8"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::FreeFormat -->
   <xsd:complexType abstract="false" mixed="false" name="FREE-FORMAT">
      <xsd:annotation>
         <xsd:documentation>Representing freely defined data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FreeFormat"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:FREE-FORMAT-ENTRY"/>
         <xsd:group ref="AR:FREE-FORMAT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::FreeFormatEntry -->
   <xsd:group name="FREE-FORMAT-ENTRY">
      <xsd:annotation>
         <xsd:documentation>FreeFormat transmits a fixed master request frame with the eight data bytes provided. This may for instance be used to issue user specific fixed frames.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FreeFormatEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ServiceNeeds::FunctionInhibitionNeeds -->
   <xsd:group name="FUNCTION-INHIBITION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Function Inhibition Manager for one Function Identifier (FID). This class currently contains no attributes. Its name can be regarded as a symbol identifying the FID  from the viewpoint of the component or module which owns this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FunctionInhibitionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::FunctionInhibitionNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="FUNCTION-INHIBITION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Function Inhibition Manager for one Function Identifier (FID). This class currently contains no attributes. Its name can be regarded as a symbol identifying the FID  from the viewpoint of the component or module which owns this class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FunctionInhibitionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:FUNCTION-INHIBITION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="FUNCTION-INHIBITION-NEEDS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FUNCTION-INHIBITION-NEEDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fibex4Multiplatform::Gateway -->
   <xsd:group name="GATEWAY">
      <xsd:annotation>
         <xsd:documentation>A gateway is an ECU that is connected to two or more clusters (channels, but not redundant), and performs a frame, Pdu or signal mapping between them.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Gateways";mmt.qualifiedName="Gateway"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to one ECU instance that implements the gateway.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Gateway.ecu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Gateway.frameMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FRAME-MAPPING" type="AR:FRAME-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Gateway.iPduMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-PDU-MAPPING" type="AR:I-PDU-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNAL-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Gateway.signalMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-MAPPING" type="AR:I-SIGNAL-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::Gateway -->
   <xsd:complexType abstract="false" mixed="false" name="GATEWAY">
      <xsd:annotation>
         <xsd:documentation>A gateway is an ECU that is connected to two or more clusters (channels, but not redundant), and performs a frame, Pdu or signal mapping between them.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Gateways";mmt.qualifiedName="Gateway"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:GATEWAY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class GeneralAnnotation::GeneralAnnotation -->
   <xsd:group name="GENERAL-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>This class represents textual comments (called annotations) which relate to the object in which it is aggregated. These annotations are intended for use during the development process for transferring information from one step of the development process to the next one. 

The approach is similar to the "yellow pads" ...

This abstract class can be specialized in order to add some further formal properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GeneralAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LABEL" type="AR:MULTILANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This is the headline for the annotation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GeneralAnnotation.label";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATION-ORIGIN" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute identifies the origin of the annotation. It is an arbitrary string since it can be an individual's name as well as the name of a tool or even the name of a process step.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GeneralAnnotation.annotationOrigin";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATION-TEXT" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This is the text of the annotation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GeneralAnnotation.annotationText";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class GerneralParameters::GeneralParameter -->
   <xsd:group name="GENERAL-PARAMETER">
      <xsd:annotation>
         <xsd:documentation>This represents a parameter in general e.g. an entry in a data sheet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GeneralParameter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="PRM-CHAR" type="AR:PRM-CHAR">
            <xsd:annotation>
               <xsd:documentation>This represents the characteristics of one parameter under one particular condition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GeneralParameter.prmChar";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::GeneralParameter -->
   <xsd:complexType abstract="false" mixed="false" name="GENERAL-PARAMETER">
      <xsd:annotation>
         <xsd:documentation>This represents a parameter in general e.g. an entry in a data sheet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GeneralParameter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GENERAL-PARAMETER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::GeneralPurposeIPdu -->
   <xsd:group name="GENERAL-PURPOSE-I-PDU">
      <xsd:annotation>
         <xsd:documentation>This element is used for AUTOSAR Pdus without attributes that are routed by the PduR. Please note that the category name of such Pdus is standardized in the AUTOSAR System Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="GeneralPurposeIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CoreCommunication::GeneralPurposeIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="GENERAL-PURPOSE-I-PDU">
      <xsd:annotation>
         <xsd:documentation>This element is used for AUTOSAR Pdus without attributes that are routed by the PduR. Please note that the category name of such Pdus is standardized in the AUTOSAR System Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="GeneralPurposeIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:GENERAL-PURPOSE-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::GeneralPurposePdu -->
   <xsd:group name="GENERAL-PURPOSE-PDU">
      <xsd:annotation>
         <xsd:documentation>This element is used for AUTOSAR Pdus without additional attributes that are routed by a bus interface. Please note that the category name of such Pdus is standardized in the AUTOSAR System Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="GeneralPurposePdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CoreCommunication::GeneralPurposePdu -->
   <xsd:complexType abstract="false" mixed="false" name="GENERAL-PURPOSE-PDU">
      <xsd:annotation>
         <xsd:documentation>This element is used for AUTOSAR Pdus without additional attributes that are routed by a bus interface. Please note that the category name of such Pdus is standardized in the AUTOSAR System Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="GeneralPurposePdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:GENERAL-PURPOSE-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="GENERAL-PURPOSE-PDU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="GENERAL-PURPOSE-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetCommunication::GenericEthernetFrame -->
   <xsd:group name="GENERIC-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>This element is used for EthernetFrames without additional attributes that are routed by the EthIf.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="GenericEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::GenericEthernetFrame -->
   <xsd:complexType abstract="false" mixed="false" name="GENERIC-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>This element is used for EthernetFrames without additional attributes that are routed by the EthIf.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="GenericEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:ABSTRACT-ETHERNET-FRAME"/>
         <xsd:group ref="AR:GENERIC-ETHERNET-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class BuildActionManifest::GenericModelReference -->
   <xsd:group name="GENERIC-MODEL-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a late binding reference to a model element. The model element can be from every model. Even if it is modeled according to the association representation, it is not limited to refer to AUTOSAR model elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GenericModelReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REF" type="AR:REF">
            <xsd:annotation>
               <xsd:documentation>This is the full qualified name of the model element</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GenericModelReference.ref";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class BuildActionManifest::GenericModelReference -->
   <xsd:attributeGroup name="GENERIC-MODEL-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a late binding reference to a model element. The model element can be from every model. Even if it is modeled according to the association representation, it is not limited to refer to AUTOSAR model elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GenericModelReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="BASE" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This establishes the reference base.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="GenericModelReference.base";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="DEST" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute represents the class of the referenced model element. It is a String, since the model element can be in any model. Therefore we cannot have any assumption here.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="GenericModelReference.dest";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class BuildActionManifest::GenericModelReference -->
   <xsd:complexType abstract="false" mixed="false" name="GENERIC-MODEL-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a late binding reference to a model element. The model element can be from every model. Even if it is modeled according to the association representation, it is not limited to refer to AUTOSAR model elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GenericModelReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERIC-MODEL-REFERENCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:GENERIC-MODEL-REFERENCE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::GenericTp -->
   <xsd:group name="GENERIC-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for a generic transport protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GenericTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Transport Protocol dependent Address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GenericTp.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-TECHNOLOGY" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Name of the used Transport Protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GenericTp.tpTechnology";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::GenericTp -->
   <xsd:complexType abstract="false" mixed="false" name="GENERIC-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for a generic transport protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GenericTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSPORT-PROTOCOL-CONFIGURATION"/>
         <xsd:group ref="AR:GENERIC-TP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::GlobalSupervisionNeeds -->
   <xsd:group name="GLOBAL-SUPERVISION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Watchdog Manager to get access on the Global Supervision control and status interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalSupervisionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::GlobalSupervisionNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-SUPERVISION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Watchdog Manager to get access on the Global Supervision control and status interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalSupervisionNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:GLOBAL-SUPERVISION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CAN::GlobalTimeCanMaster -->
   <xsd:group name="GLOBAL-TIME-CAN-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for the CAN communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-SECURED" type="AR:GLOBAL-TIME-CRC-SUPPORT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of whether or not CRC is supported. This is only relevant for selected bus systems.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanMaster.crcSecured";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FOLLOW-UP-OFFSET" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the offset of the Follow-Up message with respect to the SYNC message</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanMaster.followUpOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-CONFIRMATION-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the value for the confirmation timeout. Unit: seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanMaster.syncConfirmationTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CAN::GlobalTimeCanMaster -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-CAN-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for the CAN communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-MASTER"/>
         <xsd:group ref="AR:GLOBAL-TIME-CAN-MASTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CAN::GlobalTimeCanSlave -->
   <xsd:group name="GLOBAL-TIME-CAN-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for the CAN communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-VALIDATED" type="AR:GLOBAL-TIME-CRC-VALIDATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of whether or not validation of the CRC is supported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanSlave.crcValidated";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEQUENCE-COUNTER-JUMP-WIDTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum allowed gap of the sequence counter between two SYNC resp. two OFS messages.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanSlave.sequenceCounterJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CAN::GlobalTimeCanSlave -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-CAN-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for the CAN communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCanSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-SLAVE"/>
         <xsd:group ref="AR:GLOBAL-TIME-CAN-SLAVE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::GlobalTimeCouplingPortProps -->
   <xsd:group name="GLOBAL-TIME-COUPLING-PORT-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines properties for the usage of the CouplingPort in the scope of Global Time Sync.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCouplingPortProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROPAGATION-DELAY" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>If cyclic propagation delay measurement is enabled, this parameter represents the default value of the propagation delay until the first actually measured propagation delay is available.
If cyclic propagation delay measurement is disabled, this parameter defines a fixed value for the propagation delay.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCouplingPortProps.propagationDelay";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::GlobalTimeCouplingPortProps -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-COUPLING-PORT-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines properties for the usage of the CouplingPort in the scope of Global Time Sync.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCouplingPortProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GLOBAL-TIME-COUPLING-PORT-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GlobalTime::GlobalTimeDomain -->
   <xsd:group name="GLOBAL-TIME-DOMAIN">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a global time domain.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="GlobalTimeDomains";mmt.qualifiedName="GlobalTimeDomain"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CLUSTER-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of CommunicationClusters that shall implement the GlobalTimeDomain in terms of communication of global time information.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="GlobalTimeDomain.communicationCluster";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMMUNICATION-CLUSTER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:COMMUNICATION-CLUSTER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEBOUNCE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the minimum amount of time between two time sync messages are transmitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.debounceTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DOMAIN-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the ID of the GlobalTimeDomain used in the network messages sent on behalf of global time management.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.domainId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FOLLOW-UP-TIMEOUT-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Rx timeout for the follow-up message. This is only relevant for selected bus systems Unit:seconds</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="GlobalTimeDomain.followUpTimeoutValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GATEWAYS">
            <xsd:annotation>
               <xsd:documentation>A GlobalTimeGateway may exist in the context of a GlobalTimeDomain to actively update the global time information as it is routed from one GlobalTimeDomain to another.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.gateway";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="GLOBAL-TIME-GATEWAY" type="AR:GLOBAL-TIME-GATEWAY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GLOBAL-TIME-DOMAIN-PROPS">
            <xsd:annotation>
               <xsd:documentation>Additional properties of the GlobalTimeDomain</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.globalTimeDomainProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CAN-GLOBAL-TIME-DOMAIN-PROPS" type="AR:CAN-GLOBAL-TIME-DOMAIN-PROPS"/>
                  <xsd:element name="ETH-GLOBAL-TIME-DOMAIN-PROPS" type="AR:ETH-GLOBAL-TIME-DOMAIN-PROPS"/>
                  <xsd:element name="FR-GLOBAL-TIME-DOMAIN-PROPS" type="AR:FR-GLOBAL-TIME-DOMAIN-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GLOBAL-TIME-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>This PDU will be taken to transmit the global time information from a GlobalTimeMaster to a the associated GlobalTimeSlaves.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="GlobalTimeDomain.globalTimePdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:GENERAL-PURPOSE-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GLOBAL-TIME-PDU-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:documentation>This PduTriggering will be taken to transmit the global time information from a GlobalTimeMaster to a the associated GlobalTimeSlaves.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.globalTimePduTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASTER">
            <xsd:annotation>
               <xsd:documentation>This represents the single master of a GlobalTimeDomain.
A GlobalTimeDomain may have no GlobalTimeDomain.master, e.g. when it gets its time from a GPS receiver.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.master";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="GLOBAL-TIME-CAN-MASTER" type="AR:GLOBAL-TIME-CAN-MASTER"/>
                  <xsd:element name="GLOBAL-TIME-ETH-MASTER" type="AR:GLOBAL-TIME-ETH-MASTER"/>
                  <xsd:element name="GLOBAL-TIME-FR-MASTER" type="AR:GLOBAL-TIME-FR-MASTER"/>
                  <xsd:element name="USER-DEFINED-GLOBAL-TIME-MASTER" type="AR:USER-DEFINED-GLOBAL-TIME-MASTER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSET-TIME-DOMAIN-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a synchronized time domain this offset time domain is based on. The reference source is the offset time domain. The reference target is the synchronized time domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.offsetTimeDomain";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:GLOBAL-TIME-DOMAIN--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SLAVES">
            <xsd:annotation>
               <xsd:documentation>This represents the collections of slaves of the GlobalTimeDomain.
A GlobalTimeDomain may have no GlobalTimeDomain.slaves, e.g. when it propagates its time directly to sub domains.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.slave";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="GLOBAL-TIME-CAN-SLAVE" type="AR:GLOBAL-TIME-CAN-SLAVE"/>
                  <xsd:element name="GLOBAL-TIME-ETH-SLAVE" type="AR:GLOBAL-TIME-ETH-SLAVE"/>
                  <xsd:element name="GLOBAL-TIME-FR-SLAVE" type="AR:GLOBAL-TIME-FR-SLAVE"/>
                  <xsd:element name="USER-DEFINED-GLOBAL-TIME-SLAVE" type="AR:USER-DEFINED-GLOBAL-TIME-SLAVE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-DOMAIN-REFS">
            <xsd:annotation>
               <xsd:documentation>By this means it is possible to create a hierarchy of subDomains where one global time domain can declare one or more other global time domains as its subDomains.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.subDomain";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUB-DOMAIN-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:GLOBAL-TIME-DOMAIN--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-LOSS-THRESHOLD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the minimum delta between the time value in two sync messages for which the sync loss flag is set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.syncLossThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-LOSS-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the timeout for the situation that the time synchronization gets lost in the scope of the time domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeDomain.syncLossTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GlobalTime::GlobalTimeDomain -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-DOMAIN">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a global time domain.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="GlobalTimeDomains";mmt.qualifiedName="GlobalTimeDomain"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:GLOBAL-TIME-DOMAIN"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="GLOBAL-TIME-DOMAIN--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="GLOBAL-TIME-DOMAIN"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ETH::GlobalTimeEthMaster -->
   <xsd:group name="GLOBAL-TIME-ETH-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for Ethernet communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeEthMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-SECURED" type="AR:GLOBAL-TIME-CRC-SUPPORT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of whether or not CRC is supported. This is only relevant for selected bus systems.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeEthMaster.crcSecured";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ETH::GlobalTimeEthMaster -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-ETH-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for Ethernet communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeEthMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-MASTER"/>
         <xsd:group ref="AR:GLOBAL-TIME-ETH-MASTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ETH::GlobalTimeEthSlave -->
   <xsd:group name="GLOBAL-TIME-ETH-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for Ethernet communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeEthSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-VALIDATED" type="AR:GLOBAL-TIME-CRC-VALIDATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of whether or not validation of the CRC is supported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeEthSlave.crcValidated";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-HARDWARE-CORRECTION-THRESHOLD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute can be taken to define the maximum deviation between the local time and the time obtained from SYNC message that triggers a correction of the time drift caused by the hardware on the local node.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="GlobalTimeEthSlave.timeHardwareCorrectionThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ETH::GlobalTimeEthSlave -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-ETH-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for Ethernet communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeEthSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-SLAVE"/>
         <xsd:group ref="AR:GLOBAL-TIME-ETH-SLAVE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FR::GlobalTimeFrMaster -->
   <xsd:group name="GLOBAL-TIME-FR-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for Flexray communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-SECURED" type="AR:GLOBAL-TIME-CRC-SUPPORT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of whether or not CRC is supported. This is only relevant for selected bus systems.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrMaster.crcSecured";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FR::GlobalTimeFrMaster -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-FR-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for Flexray communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-MASTER"/>
         <xsd:group ref="AR:GLOBAL-TIME-FR-MASTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class FR::GlobalTimeFrSlave -->
   <xsd:group name="GLOBAL-TIME-FR-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for Flexray communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CRC-VALIDATED" type="AR:GLOBAL-TIME-CRC-VALIDATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of whether or not validation of the CRC is supported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrSlave.crcValidated";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEQUENCE-COUNTER-JUMP-WIDTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum allowed gap of the sequence counter between two SYNC resp. two OFS messages.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrSlave.sequenceCounterJumpWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class FR::GlobalTimeFrSlave -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-FR-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for Flexray communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeFrSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-SLAVE"/>
         <xsd:group ref="AR:GLOBAL-TIME-FR-SLAVE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class GlobalTime::GlobalTimeGateway -->
   <xsd:group name="GLOBAL-TIME-GATEWAY">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a time gateway for establishing a global time domain over several communication clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeGateway"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HOST-REF">
            <xsd:annotation>
               <xsd:documentation>The GlobalTimeGateway is hosted by the referenced EcuInstance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeGateway.host";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASTER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the master of the global time gateway.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeGateway.master";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:GLOBAL-TIME-MASTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SLAVE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the slave of the GlobalTimeGateway.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeGateway.slave";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:GLOBAL-TIME-SLAVE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GlobalTime::GlobalTimeGateway -->
   <xsd:complexType abstract="false" mixed="false" name="GLOBAL-TIME-GATEWAY">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define a time gateway for establishing a global time domain over several communication clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeGateway"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-GATEWAY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class GlobalTime::GlobalTimeMaster -->
   <xsd:group name="GLOBAL-TIME-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the generic concept of a global time master.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>The GlobalTimeMaster is bound to the CommunicationConnector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeMaster.communicationConnector";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMMEDIATE-RESUME-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the minimum time between an "immediate" message and the next periodic message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeMaster.immediateResumeTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-SYSTEM-WIDE-GLOBAL-TIME-MASTER" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to TRUE, the GlobalTimeMaster is supposed to act as the root of global time information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeMaster.isSystemWideGlobalTimeMaster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the period. Unit: seconds</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeMaster.syncPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="GLOBAL-TIME-MASTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="GLOBAL-TIME-CAN-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-ETH-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-FR-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-MASTER"/>
         <xsd:enumeration value="USER-DEFINED-GLOBAL-TIME-MASTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class GlobalTime::GlobalTimeSlave -->
   <xsd:group name="GLOBAL-TIME-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the generic concept of a global time slave.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>The GlobalTimeSlave is bound to the CommunicationConnector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeSlave.communicationConnector";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FOLLOW-UP-TIMEOUT-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Rx timeout for the follow-up message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeSlave.followUpTimeoutValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-LEAP-FUTURE-THRESHOLD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the maximum allowed positive difference between the current Local Time Base value and a newly received Global Time Base value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeSlave.timeLeapFutureThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-LEAP-HEALING-COUNTER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the required number of updates to the Time Base where the time difference to the previous received value has to remain within the bounds of timeLeapFutureThreshold and timeLeapPastThreshold until that Time Base is considered healed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeSlave.timeLeapHealingCounter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-LEAP-PAST-THRESHOLD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the maximum allowed negative difference between the current Local Time Base value and a newly received Global Time Base value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeSlave.timeLeapPastThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="GLOBAL-TIME-SLAVE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="GLOBAL-TIME-CAN-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-ETH-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-FR-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-SLAVE"/>
         <xsd:enumeration value="USER-DEFINED-GLOBAL-TIME-SLAVE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Figure::Graphic -->
   <xsd:group name="GRAPHIC">
      <xsd:annotation>
         <xsd:documentation>This class represents an artifact containing the image to be inserted in the document</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Graphic"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class Figure::Graphic -->
   <xsd:attributeGroup name="GRAPHIC">
      <xsd:annotation>
         <xsd:documentation>This class represents an artifact containing the image to be inserted in the document</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Graphic"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="EDIT-HEIGHT" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies the height of the graphic when it is displayed in an editor. The unit can be added to the number in the string. Possible units are:
cm, mm, px, pt. The default unit is px.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.editHeight";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="EDIT-WIDTH" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies the width of the graphic when it is displayed in an editor. The unit can be added to the number in the string. Possible units are:
cm, mm, px, pt. The default unit is px.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.editWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="EDITFIT" type="AR:GRAPHIC-FIT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies how the graphic shall be displayed in an editor. If the attribute is missing,</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.editfit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="EDITSCALE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Set the proportional scale when displayed in an editor.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.editscale";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="FILENAME" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Name of the file that should be displayed. This attribute is supported in ASAM FSX and kept in AUTOSAR in order to support cut and paste.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.filename";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="FIT" type="AR:GRAPHIC-FIT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>It determines the way in which the graphic should be inserted.

Enter the attribute value "AS-IS" , to insert a graphic in its original dimensions.

The graphic is adapted, if it is too big for the space for which it was intended. 
Default is "AS-IS"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.fit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="GENERATOR" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the generator which is used to generate the image. 

Use case is that when editing a documentation, a figure (to be delivered by the  modeling tool) is inserted by the authoring tool as reference (this is the role  of graphic). But the real figure maybe injected during document processing. To  be able to recognize this situation, this attribute can be applied.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.generator";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HEIGHT" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Define the displayed height of the figure. The unit can be added to the number in the string. Possible units are:
cm, mm, px, pt. The default unit is px.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.height";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HTML-FIT" type="AR:GRAPHIC-FIT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>How to fit the graphic in an online media. Default is AS-IS.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.htmlFit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HTML-HEIGHT" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies the height of the graphic when it is displayed online. The unit can be added to the number in the string. Possible units are:
cm, mm, px, pt. The default unit is px.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.htmlHeight";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HTML-SCALE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Set the proportional scale when displayed online.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.htmlScale";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HTML-WIDTH" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies the width of the graphic when it is displayed online. The unit can be added to the number in the string. Possible units are:
cm, mm, px, pt. The default unit is px.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.htmlWidth";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="NOTATION" type="AR:GRAPHIC-NOTATION-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute captures the format used to represent the graphic.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.notation";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true";xml.id="GRAPHIC_TYPE__GRAPHIC_TYPE__NOTATION"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SCALE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>In this element the dimensions of the graphic can be altered proportionally.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.scale";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="WIDTH" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Define the displayed width of the figure. The unit can be added to the number in the string. Possible units are:
cm, mm, px, pt. The default unit is px.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Graphic.width";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Figure::Graphic -->
   <xsd:complexType abstract="false" mixed="false" name="GRAPHIC">
      <xsd:annotation>
         <xsd:documentation>This class represents an artifact containing the image to be inserted in the document</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Graphic"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ENGINEERING-OBJECT"/>
         <xsd:group ref="AR:GRAPHIC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:GRAPHIC"/>
   </xsd:complexType>
   <!-- element group for class ResourceConsumption::HardwareConfiguration -->
   <xsd:group name="HARDWARE-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Describes in which mode the hardware is operating while needing this resource consumption.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HardwareConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDITIONAL-INFORMATION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies additional information on the HardwareConfiguration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HardwareConfiguration.additionalInformation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROCESSOR-MODE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies in which mode the processor is operating.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HardwareConfiguration.processorMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROCESSOR-SPEED" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the speed the processor is operating.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HardwareConfiguration.processorSpeed";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResourceConsumption::HardwareConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="HARDWARE-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Describes in which mode the hardware is operating while needing this resource consumption.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HardwareConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:HARDWARE-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class HeapUsage::HeapUsage -->
   <xsd:group name="HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>Describes the heap memory usage of a SW-Component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HARDWARE-CONFIGURATION" type="AR:HARDWARE-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Contains information about the hardware context this heap usage is describing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HeapUsage.hardwareConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies for which hardware element (e.g. ECU) this heap usage  usage is given.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HeapUsage.hwElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOFTWARE-CONTEXT" type="AR:SOFTWARE-CONTEXT">
            <xsd:annotation>
               <xsd:documentation>Contains details about the software context this heap usage is provided for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HeapUsage.softwareContext";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HeapUsage.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class EthernetTopology::HttpTp -->
   <xsd:group name="HTTP-TP">
      <xsd:annotation>
         <xsd:documentation>Http over TCP as transport protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTENT-TYPE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Descriptor for the transported content.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp.contentType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>HTTP Protocol version (e.g. 1.1)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp.protocolVersion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-METHOD" type="AR:REQUEST-METHOD-ENUM">
            <xsd:annotation>
               <xsd:documentation>HTTP request method to be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp.requestMethod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TCP-TP-CONFIG" type="AR:TCP-TP">
            <xsd:annotation>
               <xsd:documentation>TcpTp Configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp.tcpTpConfig";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="URI" type="AR:URI-STRING">
            <xsd:annotation>
               <xsd:documentation>URI to be called.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp.uri";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::HttpTp -->
   <xsd:complexType abstract="false" mixed="false" name="HTTP-TP">
      <xsd:annotation>
         <xsd:documentation>Http over TCP as transport protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HttpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSPORT-PROTOCOL-CONFIGURATION"/>
         <xsd:group ref="AR:HTTP-TP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class HwElementCategory::HwAttributeDef -->
   <xsd:group name="HW-ATTRIBUTE-DEF">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to define a particular hardware attribute.

The category of this element defines the type of the attributeValue. If the category is Enumeration the hwAttributeEnumerationLiterals specify the available literals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ATTRIBUTE-LITERALS">
            <xsd:annotation>
               <xsd:documentation>The available EnumerationLiterals of the Enumeration definition. Only applicable if the category of the HwAttributeDef equals Enumeration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeDef.hwAttributeLiteral";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-ATTRIBUTE-LITERAL-DEF" type="AR:HW-ATTRIBUTE-LITERAL-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-REQUIRED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies if the defined attribute value is required to be provided.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeDef.isRequired";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This association specifies the physical unit of the defined hardware attribute. This is optional due to the fact that there are textual attributes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeDef.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class HwElementCategory::HwAttributeDef -->
   <xsd:complexType abstract="false" mixed="false" name="HW-ATTRIBUTE-DEF">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to define a particular hardware attribute.

The category of this element defines the type of the attributeValue. If the category is Enumeration the hwAttributeEnumerationLiterals specify the available literals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HW-ATTRIBUTE-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="HW-ATTRIBUTE-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-ATTRIBUTE-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class HwElementCategory::HwAttributeLiteralDef -->
   <xsd:group name="HW-ATTRIBUTE-LITERAL-DEF">
      <xsd:annotation>
         <xsd:documentation>One available EnumerationLiteral of the Enumeration definition. Only applicable if the category of the HwAttributeDef equals Enumeration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeLiteralDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class HwElementCategory::HwAttributeLiteralDef -->
   <xsd:complexType abstract="false" mixed="false" name="HW-ATTRIBUTE-LITERAL-DEF">
      <xsd:annotation>
         <xsd:documentation>One available EnumerationLiteral of the Enumeration definition. Only applicable if the category of the HwAttributeDef equals Enumeration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeLiteralDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HW-ATTRIBUTE-LITERAL-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class HwElementCategory::HwAttributeValue -->
   <xsd:group name="HW-ATTRIBUTE-VALUE">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to assign a hardware attribute value. Note that v and vt are mutually exclusive.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATION" type="AR:ANNOTATION">
            <xsd:annotation>
               <xsd:documentation>Optional annotation that can be added to each HwAttributeValue.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue.annotation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ATTRIBUTE-DEF-REF">
            <xsd:annotation>
               <xsd:documentation>This association represents the definition of the particular hardware attribute value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue.hwAttributeDef";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ATTRIBUTE-DEF--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="V" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This represents a numerical hardware attribute value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue.v";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VT" type="AR:VERBATIM-STRING">
            <xsd:annotation>
               <xsd:documentation>This represents a textual hardware attribute value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue.vt";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class HwElementCategory::HwAttributeValue -->
   <xsd:complexType abstract="false" mixed="false" name="HW-ATTRIBUTE-VALUE">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to assign a hardware attribute value. Note that v and vt are mutually exclusive.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwAttributeValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:HW-ATTRIBUTE-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class HwElementCategory::HwCategory -->
   <xsd:group name="HW-CATEGORY">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to declare hardware categories and its particular attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="HwCategorys";mmt.qualifiedName="HwCategory"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ATTRIBUTE-DEFS">
            <xsd:annotation>
               <xsd:documentation>This aggregation describes particular hardware attribute definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwCategory.hwAttributeDef";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-ATTRIBUTE-DEF" type="AR:HW-ATTRIBUTE-DEF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class HwElementCategory::HwCategory -->
   <xsd:complexType abstract="false" mixed="false" name="HW-CATEGORY">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to declare hardware categories and its particular attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="HwCategorys";mmt.qualifiedName="HwCategory"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:HW-CATEGORY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="HW-CATEGORY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-CATEGORY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EcuResourceTemplate::HwDescriptionEntity -->
   <xsd:group name="HW-DESCRIPTION-ENTITY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe a hardware entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwDescriptionEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This association is used to assign an optional HwType which contains the common attribute values for all occurences of this HwDescriptionEntity. 
Note that HwTypes can not be redefined and therefore shall not have a hwType reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwDescriptionEntity.hwType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-CATEGORY-REFS">
            <xsd:annotation>
               <xsd:documentation>One of the associations representing one particular category of the hardware entity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwDescriptionEntity.hwCategory";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-CATEGORY-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-CATEGORY--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ATTRIBUTE-VALUES">
            <xsd:annotation>
               <xsd:documentation>This aggregation represents a particular hardware attribute value.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwDescriptionEntity.hwAttributeValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-ATTRIBUTE-VALUE" type="AR:HW-ATTRIBUTE-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="HW-DESCRIPTION-ENTITY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-DESCRIPTION-ENTITY"/>
         <xsd:enumeration value="HW-ELEMENT"/>
         <xsd:enumeration value="HW-PIN"/>
         <xsd:enumeration value="HW-PIN-GROUP"/>
         <xsd:enumeration value="HW-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EcuResourceTemplate::HwElement -->
   <xsd:group name="HW-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to describe Hardware Elements on an instance level. The particular types of hardware are distinguished by the category. This category determines the applicable attributes. The possible categories and attributes are defined in HwCategory.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="HwElements";mmt.qualifiedName="HwElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NESTED-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This association is used to establish hierarchies of hw elements. Note that one particular HwElement can be target of this association only once. I.e. multiple instantiation of the same HwElement is not supported (at any hierarchy level).
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElement.nestedElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-ELEMENT-REF-CONDITIONAL" type="AR:HW-ELEMENT-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-GROUPS">
            <xsd:annotation>
               <xsd:documentation>This aggregation is used to describe the connection facilities of a hardware element. Note that hardware element has no pins but only pingroups. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElement.hwPinGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-PIN-GROUP" type="AR:HW-PIN-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents one particular connection between two hardware elements.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElement.hwElementConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="110"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-ELEMENT-CONNECTOR" type="AR:HW-ELEMENT-CONNECTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwElement -->
   <xsd:complexType abstract="false" mixed="false" name="HW-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to describe Hardware Elements on an instance level. The particular types of hardware are distinguished by the category. This category determines the applicable attributes. The possible categories and attributes are defined in HwCategory.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="HwElements";mmt.qualifiedName="HwElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:HW-DESCRIPTION-ENTITY"/>
         <xsd:group ref="AR:HW-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="HW-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EcuResourceTemplate::HwElementConnector -->
   <xsd:group name="HW-ELEMENT-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to connect two hardware elements. 
The details of the connection can be refined by hwPinGroupConnection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwElementConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>This association connects two hardware elements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElementConnector.hwElement";pureMM.maxOccurs="2";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="HW-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-GROUP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents one particular connection between two hardware pin groups.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElementConnector.hwPinGroupConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-PIN-GROUP-CONNECTOR" type="AR:HW-PIN-GROUP-CONNECTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents one particular connection between two hardware pins. This connection shall be used if pin-to-pin-connection is to be described but no description of the connection between the hierarchical composition of HwPinGroups (using HwPinGroupConnector) is required.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElementConnector.hwPinConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-PIN-CONNECTOR" type="AR:HW-PIN-CONNECTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElementConnector.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwElementConnector -->
   <xsd:complexType abstract="false" mixed="false" name="HW-ELEMENT-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to connect two hardware elements. 
The details of the connection can be refined by hwPinGroupConnection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwElementConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:HW-ELEMENT-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EcuResourceTemplate::HwElementRefConditional -->
   <xsd:group name="HW-ELEMENT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwElementRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwElementRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="HW-ELEMENT-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:HW-ELEMENT-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EcuResourceTemplate::HwPin -->
   <xsd:group name="HW-PIN">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the possibility to describe a hardware pin.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPin"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PIN-NUMBER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute contains the physical pin number.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPin.pinNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPin.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwPin -->
   <xsd:complexType abstract="false" mixed="false" name="HW-PIN">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the possibility to describe a hardware pin.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPin"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HW-DESCRIPTION-ENTITY"/>
         <xsd:group ref="AR:HW-PIN"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="HW-PIN--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-PIN"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EcuResourceTemplate::HwPinConnector -->
   <xsd:group name="HW-PIN-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to connect two pins.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-REFS">
            <xsd:annotation>
               <xsd:documentation>This association connects two hardware pins.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinConnector.hwPin";pureMM.maxOccurs="2";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="HW-PIN-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-PIN--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinConnector.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwPinConnector -->
   <xsd:complexType abstract="false" mixed="false" name="HW-PIN-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to connect two pins.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:HW-PIN-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EcuResourceTemplate::HwPinGroup -->
   <xsd:group name="HW-PIN-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe groups of pins which are used to connect hardware elements. This group acts as a bundle of pins. Thereby they allow to describe high level connections. Pin groups can even be nested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-GROUP-CONTENT" type="AR:HW-PIN-GROUP-CONTENT">
            <xsd:annotation>
               <xsd:documentation>This aggregation describes the contained pins/pin groups.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroup.hwPinGroupContent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroup.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwPinGroup -->
   <xsd:complexType abstract="false" mixed="false" name="HW-PIN-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe groups of pins which are used to connect hardware elements. This group acts as a bundle of pins. Thereby they allow to describe high level connections. Pin groups can even be nested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HW-DESCRIPTION-ENTITY"/>
         <xsd:group ref="AR:HW-PIN-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="HW-PIN-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-PIN-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EcuResourceTemplate::HwPinGroupConnector -->
   <xsd:group name="HW-PIN-GROUP-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to connect two pin groups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>This represents one particular connection between two hardware pins. The connected pins must match the connection provided by the parent hwPinGroupConnection.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupConnector.hwPinConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-PIN-CONNECTOR" type="AR:HW-PIN-CONNECTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-PIN-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>This association connects two hardware pin groups.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupConnector.hwPinGroup";pureMM.maxOccurs="2";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="HW-PIN-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-PIN-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupConnector.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwPinGroupConnector -->
   <xsd:complexType abstract="false" mixed="false" name="HW-PIN-GROUP-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to connect two pin groups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:HW-PIN-GROUP-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EcuResourceTemplate::HwPinGroupContent -->
   <xsd:group name="HW-PIN-GROUP-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies a mixture of hwPins and hwPinGroups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="HW-PIN" type="AR:HW-PIN">
               <xsd:annotation>
                  <xsd:documentation>This aggregation represents a hardware pin in a hardware pin group. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupContent.hwPin";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="systemDesignTime";xml.roleWrapperElement="false"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="HW-PIN-GROUP" type="AR:HW-PIN-GROUP">
               <xsd:annotation>
                  <xsd:documentation>This aggregation represents a nested hardware pin group.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupContent.hwPinGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="systemDesignTime";xml.roleWrapperElement="false"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class EcuResourceTemplate::HwPinGroupContent -->
   <xsd:complexType abstract="false" mixed="false" name="HW-PIN-GROUP-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies a mixture of hwPins and hwPinGroups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPinGroupContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:HW-PIN-GROUP-CONTENT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ECUResourceMapping::HwPortMapping -->
   <xsd:group name="HW-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>HWPortMapping specifies the hwCommunicationPort (defined in the ECU Resource Template) to realize the specified CommunicationConnector in a physical topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the CommunicationConnector in the System Template</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPortMapping.communicationConnector";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-COMMUNICATION-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the HwPinPortGroup of category CommunicationPort. The connection to the HwCommunicationController is described in the Ecu Resource Description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="HwPortMapping.hwCommunicationPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-PIN-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ECUResourceMapping::HwPortMapping -->
   <xsd:complexType abstract="false" mixed="false" name="HW-PORT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>HWPortMapping specifies the hwCommunicationPort (defined in the ECU Resource Template) to realize the specified CommunicationConnector in a physical topology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HwPortMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:HW-PORT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class HwElementCategory::HwType -->
   <xsd:group name="HW-TYPE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to describe Hardware types on an abstract level. The particular types of hardware are distinguished by the category. This category determines the applicable attributes. The possible categories and attributes are defined in HwCategory.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="HwTypes";mmt.qualifiedName="HwType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class HwElementCategory::HwType -->
   <xsd:complexType abstract="false" mixed="false" name="HW-TYPE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to describe Hardware types on an abstract level. The particular types of hardware are distinguished by the category. This category determines the applicable attributes. The possible categories and attributes are defined in HwCategory.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="HwTypes";mmt.qualifiedName="HwType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:HW-DESCRIPTION-ENTITY"/>
         <xsd:group ref="AR:HW-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="HW-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HW-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::IPdu -->
   <xsd:group name="I-PDU">
      <xsd:annotation>
         <xsd:documentation>The IPdu (Interaction Layer Protocol Data Unit) element is used to sum up all Pdus that are routed by the PduR.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINED-I-PDU-PROPS" type="AR:CONTAINED-I-PDU-PROPS">
            <xsd:annotation>
               <xsd:documentation>Defines whether this IPdu may be collected inside a ContainerIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPdu.containedIPduProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="I-PDU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONTAINER-I-PDU"/>
         <xsd:enumeration value="DCM-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-I-PDU"/>
         <xsd:enumeration value="I-PDU"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
         <xsd:enumeration value="J-1939-DCM-I-PDU"/>
         <xsd:enumeration value="MULTIPLEXED-I-PDU"/>
         <xsd:enumeration value="N-PDU"/>
         <xsd:enumeration value="SECURED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-I-PDU"/>
         <xsd:enumeration value="XCP-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fibex4Multiplatform::IPduMapping -->
   <xsd:group name="I-PDU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Arranges those IPdus that are transferred by the gateway from one channel to the other in pairs and defines the mapping between them.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the IPdu mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDUR-TP-CHUNK-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Optionally defines the to be configured Pdu Router TpChunkSize for this routing relation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping.pdurTpChunkSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Source destination of the referencing mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping.sourceIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-I-PDU" type="AR:TARGET-I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Target destination of the referencing mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping.targetIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::IPduMapping -->
   <xsd:complexType abstract="false" mixed="false" name="I-PDU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Arranges those IPdus that are transferred by the gateway from one channel to the other in pairs and defines the mapping between them.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:I-PDU-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::IPduPort -->
   <xsd:group name="I-PDU-PORT">
      <xsd:annotation>
         <xsd:documentation>Connectors reception or send port on the referenced channel referenced by a PduTriggering.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-SIGNAL-PROCESSING" type="AR:I-PDU-SIGNAL-PROCESSING-ENUM">
            <xsd:annotation>
               <xsd:documentation>Definition of the two signal processing modes Immediate and Deferred for both Tx and Rx IPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort.iPduSignalProcessing";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the local Key identifier of the stored Key used to generate or verify a MAC. The keyId shall be unique per Ecu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort.keyId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RX-SECURITY-VERIFICATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute describes whether the security authentication in a SecuredIPdu is verified on the receiver side (IPduPort with communicationDirection =in).  If this attribute is set to false the SecuredIPdu will be routed by the PduR directly to the COM module in the receiving ECU and the SecOC module will not be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort.rxSecurityVerification";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMESTAMP-RX-ACCEPTANCE-WINDOW" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to define the maximum allowed deviation in seconds from the expected timestamp in the SecOC module for which a SecuredIPdu is still deemed authentic.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort.timestampRxAcceptanceWindow";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-AUTH-DATA-FRESHNESS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute describes whether a part of AuthenticPdu contained in a SecuredIPdu shall be passed on to the SWC that verifies and generates the Freshness. The part of the Authentic-PDU is defined by the authDataFreshnessStartPosition and authDataFreshnessLength.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort.useAuthDataFreshness";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::IPduPort -->
   <xsd:complexType abstract="false" mixed="false" name="I-PDU-PORT">
      <xsd:annotation>
         <xsd:documentation>Connectors reception or send port on the referenced channel referenced by a PduTriggering.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMM-CONNECTOR-PORT"/>
         <xsd:group ref="AR:I-PDU-PORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-PDU-PORT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-PDU-PORT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::IPduTiming -->
   <xsd:group name="I-PDU-TIMING">
      <xsd:annotation>
         <xsd:documentation>AUTOSAR COM provides the possibility to define two different TRANSMISSION MODES for each IPdu.

The Transmission Mode of an IPdu that is valid at a specific point in time is selected using the values of the signals that are mapped to this IPdu. For each IPdu a Transmission Mode Selector is defined. The Transmission Mode Selector is calculated by evaluating the conditions for a subset of signals  (class TransmissionModeCondition in the System Template).

The Transmission Mode Selector is defined to be true, if at least one Condition evaluates to true and is defined to be false, if all Conditions evaluate to false.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-DELAY" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Minimum Delay in seconds between successive transmissions of this I-PDU, independent of the Transmission Mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduTiming.minimumDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMISSION-MODE-DECLARATION" type="AR:TRANSMISSION-MODE-DECLARATION">
            <xsd:annotation>
               <xsd:documentation>AUTOSAR COM allows configuring statically two different transmission modes for each
I-PDU (True and False). The Transmission Mode Selector evaluates the conditions for a subset of signals and decides the transmission mode. It is possible to switch between the transmission modes during runtime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduTiming.transmissionModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPduTiming.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::IPduTiming -->
   <xsd:complexType abstract="false" mixed="false" name="I-PDU-TIMING">
      <xsd:annotation>
         <xsd:documentation>AUTOSAR COM provides the possibility to define two different TRANSMISSION MODES for each IPdu.

The Transmission Mode of an IPdu that is valid at a specific point in time is selected using the values of the signals that are mapped to this IPdu. For each IPdu a Transmission Mode Selector is defined. The Transmission Mode Selector is calculated by evaluating the conditions for a subset of signals  (class TransmissionModeCondition in the System Template).

The Transmission Mode Selector is defined to be true, if at least one Condition evaluates to true and is defined to be false, if all Conditions evaluate to false.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:I-PDU-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::IPv6ExtHeaderFilterList -->
   <xsd:group name="I-PV-6-EXT-HEADER-FILTER-LIST">
      <xsd:annotation>
         <xsd:documentation>White list for the filtering of IPv6 extension headers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPv6ExtHeaderFilterList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOWED-I-PV-6-EXT-HEADERS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ALLOWED-I-PV-6-EXT-HEADER" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>IPv6 Extension Header type allowed by this filter.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="IPv6ExtHeaderFilterList.allowedIPv6ExtHeader";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::IPv6ExtHeaderFilterList -->
   <xsd:complexType abstract="false" mixed="false" name="I-PV-6-EXT-HEADER-FILTER-LIST">
      <xsd:annotation>
         <xsd:documentation>White list for the filtering of IPv6 extension headers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPv6ExtHeaderFilterList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:I-PV-6-EXT-HEADER-FILTER-LIST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-PV-6-EXT-HEADER-FILTER-LIST--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-PV-6-EXT-HEADER-FILTER-LIST"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetCommunication::IPv6ExtHeaderFilterSet -->
   <xsd:group name="I-PV-6-EXT-HEADER-FILTER-SET">
      <xsd:annotation>
         <xsd:documentation>Set of IPv6 Extension Header Filters.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="IPv6ExtHeaderFilterSets";mmt.qualifiedName="IPv6ExtHeaderFilterSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXT-HEADER-FILTER-LISTS">
            <xsd:annotation>
               <xsd:documentation>In order to permit or deny certain types of IPv6 extension headers a white list of IPv6 extension headers can be configured.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IPv6ExtHeaderFilterSet.extHeaderFilterList";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-PV-6-EXT-HEADER-FILTER-LIST" type="AR:I-PV-6-EXT-HEADER-FILTER-LIST"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::IPv6ExtHeaderFilterSet -->
   <xsd:complexType abstract="false" mixed="false" name="I-PV-6-EXT-HEADER-FILTER-SET">
      <xsd:annotation>
         <xsd:documentation>Set of IPv6 Extension Header Filters.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="IPv6ExtHeaderFilterSets";mmt.qualifiedName="IPv6ExtHeaderFilterSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:I-PV-6-EXT-HEADER-FILTER-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::ISignal -->
   <xsd:group name="I-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>Signal of the Interaction Layer. The RTE supports a "signal fan-out" where the same System Signal is sent in different SignalIPdus to multiple receivers. 

To support the RTE "signal fan-out" each SignalIPdu  contains ISignals. If the same System Signal is to be mapped into several SignalIPdus there is one ISignal needed for each ISignalToIPduMapping. 

ISignals describe the Interface between the Precompile configured RTE and the potentially Postbuild configured Com Stack (see ECUC Parameter Mapping). 

In case of the SystemSignalGroup an ISignal must be created for each SystemSignal contained in the SystemSignalGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ISignals";mmt.qualifiedName="ISignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TRANSFORMATIONS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataTransformation, variationPoint.shortLabel";mmt.qualifiedName="ISignal.dataTransformation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TRANSFORMATION-REF-CONDITIONAL" type="AR:DATA-TRANSFORMATION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-POLICY" type="AR:DATA-TYPE-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>With the aggregation of SwDataDefProps an ISignal specifies how it is represented on the network. This representation follows a particular policy. Note that this causes some redundancy which is intended and can be used to support flexible development methodology as well as subsequent integrity checks. 

If the policy "networkRepresentationFromComSpec" is chosen the network representation from the ComSpec that is aggregated by the PortPrototype shall be used. 
If the "override" policy is chosen the requirements specified in the PortInterface and in the ComSpec are not fulfilled by the networkRepresentationProps. 
In case the System Description doesn't use a complete Software Component Description (VFB View) the "legacy" policy can be chosen.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.dataTypePolicy";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-PROPS" type="AR:I-SIGNAL-PROPS">
            <xsd:annotation>
               <xsd:documentation>Additional optional ISignal properties that may be stored in different files.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="iSignalProps";mmt.qualifiedName="ISignal.iSignalProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-TYPE" type="AR:I-SIGNAL-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines whether this iSignal is an array that results in an UINT8_N / UINT8_DYN ComSignalType in the COM configuration or a primitive type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.iSignalType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Optional definition of a ISignal's initValue in case the System Description doesn't use a complete Software Component Description (VFB View). This supports the inclusion of legacy system signals. 

This value can be used to configure the Signal's "InitValue". 

If a full DataMapping exist for the SystemSignal this information may be available from a configured SenderComSpec and ReceiverComSpec. 
In this case the initvalues in SenderComSpec and/or ReceiverComSpec override this optional value specification. Further restrictions apply from the RTE specification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Size of the signal in bits. The size needs to be derived from the mapped VariableDataPrototype according to the mapping of primitive DataTypes to BaseTypes as used in the RTE.
Indicates maximum size for dynamic length signals. 

The ISignal length of zero bits is allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.length";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-REPRESENTATION-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>Specification of the actual network representation. The usage of SwDataDefProps for this purpose is restricted to the attributes compuMethod and baseType. The optional baseType attributes "memAllignment" and "byteOrder" shall not be used. 

The attribute "dataTypePolicy" in the SystemTemplate element defines whether this network representation shall be ignored and the information shall be taken over from  the network representation of the ComSpec. 

If "override" is chosen by the system integrator the network representation can violate against the requirements defined in the PortInterface and in the network representation of the ComSpec. 

In case that the System Description doesn't use a complete Software Component Description (VFB View) this element is used to configure "ComSignalDataInvalidValue" and the Data Semantics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.networkRepresentationProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the System Signal that is supposed to be transmitted in the ISignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-SUBSTITUTION-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines and enables the ComTimeoutSubstituition for this ISignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.timeoutSubstitutionValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-I-SIGNAL-PROPSS">
            <xsd:annotation>
               <xsd:documentation>A transformer chain consists of an ordered list of transformers. The ISignal specific configuration properties for each transformer are defined in the TransformationISignalProps class. The transformer configuration properties that are common for all ISignals are described in the TransformationTechnology class.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignal.transformationISignalProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS" type="AR:END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS"/>
                  <xsd:element name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS" type="AR:SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS"/>
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS" type="AR:USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignal -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>Signal of the Interaction Layer. The RTE supports a "signal fan-out" where the same System Signal is sent in different SignalIPdus to multiple receivers. 

To support the RTE "signal fan-out" each SignalIPdu  contains ISignals. If the same System Signal is to be mapped into several SignalIPdus there is one ISignal needed for each ISignalToIPduMapping. 

ISignals describe the Interface between the Precompile configured RTE and the potentially Postbuild configured Com Stack (see ECUC Parameter Mapping). 

In case of the SystemSignalGroup an ISignal must be created for each SystemSignal contained in the SystemSignalGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ISignals";mmt.qualifiedName="ISignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:I-SIGNAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalGroup -->
   <xsd:group name="I-SIGNAL-GROUP">
      <xsd:annotation>
         <xsd:documentation>SignalGroup of the Interaction Layer. The RTE supports a "signal fan-out" where the same System Signal Group is sent in different SignalIPdus to multiple receivers.   

An ISignalGroup refers to a set of ISignals that shall always be kept together. A ISignalGroup represents a COM Signal Group.  

Therefore it is recommended to put the ISignalGroup in the same Package as ISignals (see atp.recommendedPackage)</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ISignalGroup";mmt.qualifiedName="ISignalGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COM-BASED-SIGNAL-GROUP-TRANSFORMATIONS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="comBasedSignalGroupTransformation, variationPoint.shortLabel";mmt.qualifiedName="ISignalGroup.comBasedSignalGroupTransformation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TRANSFORMATION-REF-CONDITIONAL" type="AR:DATA-TRANSFORMATION-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to a set of ISignals that shall always be kept together.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalGroup.iSignal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-SIGNAL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the SystemSignalGroup that is defined on VFB level and that is supposed to be transmitted in the ISignalGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalGroup.systemSignalGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-I-SIGNAL-PROPSS">
            <xsd:annotation>
               <xsd:documentation>A transformer chain consists of an ordered list of transformers. The ISignalGroup specific configuration properties for each transformer are defined in the TransformationISignalProps class. The transformer configuration properties that are common for all ISignalGroups are described in the TransformationTechnology class.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalGroup.transformationISignalProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS" type="AR:END-TO-END-TRANSFORMATION-I-SIGNAL-PROPS"/>
                  <xsd:element name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS" type="AR:SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS"/>
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS" type="AR:USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalGroup -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-GROUP">
      <xsd:annotation>
         <xsd:documentation>SignalGroup of the Interaction Layer. The RTE supports a "signal fan-out" where the same System Signal Group is sent in different SignalIPdus to multiple receivers.   

An ISignalGroup refers to a set of ISignals that shall always be kept together. A ISignalGroup represents a COM Signal Group.  

Therefore it is recommended to put the ISignalGroup in the same Package as ISignals (see atp.recommendedPackage)</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ISignalGroup";mmt.qualifiedName="ISignalGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:I-SIGNAL-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalIPdu -->
   <xsd:group name="I-SIGNAL-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Represents the IPdus handled by Com. The ISignalIPdu assembled and disassembled in AUTOSAR COM consists of one or more signals.
In case no multiplexing is performed this IPdu is routed to/from the Interface Layer.

A maximum of one dynamic length signal per IPdu is allowed.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="ISignalIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-TIMING-SPECIFICATIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu.iPduTimingSpecification";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-PDU-TIMING" type="AR:I-PDU-TIMING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-TO-PDU-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu.iSignalToPduMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-TO-I-PDU-MAPPING" type="AR:I-SIGNAL-TO-I-PDU-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COUNTERS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu.pduCounter";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SIGNAL-I-PDU-COUNTER" type="AR:SIGNAL-I-PDU-COUNTER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-REPLICATIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu.pduReplication";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SIGNAL-I-PDU-REPLICATION" type="AR:SIGNAL-I-PDU-REPLICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNUSED-BIT-PATTERN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>AUTOSAR COM and AUTOSAR IPDUM are filling not used areas of an IPDU with this bit-pattern. This attribute is mandatory to avoid undefined behavior. This byte-pattern will be repeated throughout the IPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu.unusedBitPattern";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Represents the IPdus handled by Com. The ISignalIPdu assembled and disassembled in AUTOSAR COM consists of one or more signals.
In case no multiplexing is performed this IPdu is routed to/from the Interface Layer.

A maximum of one dynamic length signal per IPdu is allowed.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="ISignalIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:I-SIGNAL-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-I-PDU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalIPduGroup -->
   <xsd:group name="I-SIGNAL-I-PDU-GROUP">
      <xsd:annotation>
         <xsd:documentation>The AUTOSAR COM Layer is able to start and to stop sending and receiving  configurable groups of I-Pdus during runtime. An ISignalIPduGroup contains either ISignalIPdus or ISignalIPduGroups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ISignaliPduGroup";mmt.qualifiedName="ISignalIPduGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-DIRECTION" type="AR:COMMUNICATION-DIRECTION-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute determines in which direction IPdus that are contained in this IPduGroup will be transmitted (communication direction can be either In or Out).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPduGroup.communicationDirection";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-MODE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the use-case for this ISignalIPduGroup (e.g. diagnostic, debugging etc.). For example, in a diagnostic mode all IPdus - which are not involved in diagnostic - are disabled. The use cases are not limited to a fixed enumeration and can be specified as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPduGroup.communicationMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINED-I-SIGNAL-I-PDU-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>An I-Pdu group can be included in other I-Pdu groups. Contained I-Pdu groups shall not be referenced by the EcuInstance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPduGroup.containedISignalIPduGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTAINED-I-SIGNAL-I-PDU-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-I-PDUS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPduGroup.iSignalIPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-I-PDU-REF-CONDITIONAL" type="AR:I-SIGNAL-I-PDU-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-PDUS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPduGroup.nmPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NM-PDU-REF-CONDITIONAL" type="AR:NM-PDU-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalIPduGroup -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-I-PDU-GROUP">
      <xsd:annotation>
         <xsd:documentation>The AUTOSAR COM Layer is able to start and to stop sending and receiving  configurable groups of I-Pdus during runtime. An ISignalIPduGroup contains either ISignalIPdus or ISignalIPduGroups.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ISignaliPduGroup";mmt.qualifiedName="ISignalIPduGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:I-SIGNAL-I-PDU-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-I-PDU-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-I-PDU-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalIPduRefConditional -->
   <xsd:group name="I-SIGNAL-I-PDU-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-I-PDU-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPduRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalIPduRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-I-PDU-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:I-SIGNAL-I-PDU-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Fibex4Multiplatform::ISignalMapping -->
   <xsd:group name="I-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Arranges those signals (or SignalGroups) that are transferred by the gateway from one channel to the other in pairs and defines the mapping between them.
Each pair consists in a source and a target referencing to a ISignalTriggering.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the ISignal mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalMapping.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Source destination of the referencing mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalMapping.sourceSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Target destination of the referencing mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalMapping.targetSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::ISignalMapping -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Arranges those signals (or SignalGroups) that are transferred by the gateway from one channel to the other in pairs and defines the mapping between them.
Each pair consists in a source and a target referencing to a ISignalTriggering.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:I-SIGNAL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::ISignalPort -->
   <xsd:group name="I-SIGNAL-PORT">
      <xsd:annotation>
         <xsd:documentation>Connectors reception or send port on the referenced channel referenced by an ISignalTriggering. 
If different timeouts or DataFilters for ISignals need to be specified several ISignalPorts may be created.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-FILTER" type="AR:DATA-FILTER">
            <xsd:annotation>
               <xsd:documentation>Optional specification of  a signal COM filter at the receiver side in case that  the System Description doesn't use a complete Software Component Description (VFB View). This supports the inclusion of legacy system signals. If a full DataMapping exist for the SystemSignal this information may be available from a configured ReceiverComSpec. In this case the ReceiverComSpec overrides this optional specification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalPort.dataFilter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Optional first timeout value in seconds for the reception of the ISignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalPort.firstTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Optional timeout value in seconds for the reception of the ISignal.
In case the System Description doesn't use a complete Software Component Description (VFB View). This supports the inclusion of legacy system signals.

If a full DataMapping exist for the SystemSignal this information may be available from a configured ReceiverComSpec, in this case the timeout value in ReceiverComSpec override this optional timeout specification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalPort.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalPort -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-PORT">
      <xsd:annotation>
         <xsd:documentation>Connectors reception or send port on the referenced channel referenced by an ISignalTriggering. 
If different timeouts or DataFilters for ISignals need to be specified several ISignalPorts may be created.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMM-CONNECTOR-PORT"/>
         <xsd:group ref="AR:I-SIGNAL-PORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-PORT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-PORT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalProps -->
   <xsd:group name="I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>Additional ISignal properties that may be stored in different files.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-OUT-OF-RANGE" type="AR:HANDLE-OUT-OF-RANGE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the outOfRangeHandling for received and sent signals.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalProps.handleOutOfRange";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalProps -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>Additional ISignal properties that may be stored in different files.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:I-SIGNAL-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::ISignalToIPduMapping -->
   <xsd:group name="I-SIGNAL-TO-I-PDU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>An ISignalToIPduMapping describes the mapping of ISignals to ISignalIPdus and defines the position of the ISignal within an ISignalIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an ISignalGroup that is mapped into the SignalIPdu. 
If an ISignalToIPduMapping for an ISignalGroup is defined, only the UpdateIndicationBitPosition and the transferProperty is relevant. The startPosition and the packingByteOrder shall be ignored. 

Each ISignal contained in the ISignalGroup shall be mapped into an IPdu by an own ISignalToIPduMapping. The references to the ISignal and to the ISignalGroup in an ISignalToIPduMapping are mutually exclusive.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.iSignalGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a ISignal that is mapped into the ISignalIPdu. 

Each ISignal contained in the ISignalGroup shall be mapped into an IPdu by an own ISignalToIPduMapping. The references to the ISignal and to the ISignalGroup in an ISignalToIPduMapping are mutually exclusive.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.iSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PACKING-BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This parameter defines the order of the bytes of the signal and the packing into the SignalIPdu. The byte ordering "Little Endian" (MostSignificantByteLast), "Big Endian" (MostSignificantByteFirst) and "Opaque" can be selected. For opaque data endianness conversion shall be configured to Opaque.
The value of this attribute impacts the absolute position of the signal into the SignalIPdu (see the startPosition attribute description). 

For an ISignalGroup the packingByteOrder is irrelevant and shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.packingByteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="START-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter is necessary to describe the bitposition of a signal within an SignalIPdu.
It denotes the least significant bit for "Little Endian" and the most significant bit for "Big Endian" packed signals within the IPdu (see the description of the packingByteOrder attribute). In AUTOSAR the bit counting is always set to "sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.

Please note that the way the bytes will be actually sent on the bus does not impact this representation: they will always be seen by the software as a byte array.

If a mapping for the ISignalGroup is defined, this attribute is irrelevant and shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.startPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFER-PROPERTY" type="AR:TRANSFER-PROPERTY-ENUM">
            <xsd:annotation>
               <xsd:documentation>The triggered or triggeredOnChange,  triggeredWithoutRepetition and triggeredOnChangeWithoutRepetition transferProperty causes immediate transmission of the IPdu, except if transmission mode Periodic or transmission mode NONE is defined for the IPdu. The Pending transfer property does not cause transmission of an I-PDU.

The immediate transmission of the IPdu is caused even if only one Signal of an IPdu has the transferProperty triggered or triggeredWithoutRepetition or triggeredOnChange or triggeredOnChangeWithoutRepetition and all other Signals have the transferProperty pending.

Also for ISignals of an ISignalGroup (GroupSignals) this attribute is relevant and shall be evaluated:
- If none of the ISignals belonging to the ISignalGroup have a transferProperty defined the transferProperty of the ISignalToPduMapping referring to the ISignalGroup is considered.
- If at least one of the ISignals belonging to the ISignalGroup has a transferProperty defined all other ISignals belonging to the same ISignalGroup shall have a transferProperty defined as well. All of the transferProperties of the GroupSignals are considered.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.transferProperty";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPDATE-INDICATION-BIT-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The UpdateIndicationBit indicates to the receivers that the signal (or the signal group) was updated by the sender. Length is always one bit. The UpdateIndicationBitPosition attribute describes the position of the update bit within the SignalIPdu. For Signals of a ISignalGroup this attribute is irrelevant and shall be ignored. 

Note that the exact bit position of the updateIndicationBitPosition is linked to the value of the attribute packingByteOrder because the method of finding the bit position is different for the values mostSignificantByteFirst and mostSignificantByteLast. This means that if the value of packingByteOrder is changed while the value of updateIndicationBitPosition remains unchanged the exact bit position of updateIndicationBitPosition within the enclosing ISignalIPdu still undergoes a change.

This attribute denotes the least significant bit for "Little Endian" and the most significant bit for "Big Endian" packed signals within the IPdu (see the description of the packingByteOrder attribute). In AUTOSAR the bit counting is always set to "sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.updateIndicationBitPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalToIPduMapping -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-TO-I-PDU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>An ISignalToIPduMapping describes the mapping of ISignals to ISignalIPdus and defines the position of the ISignal within an ISignalIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalToIPduMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:I-SIGNAL-TO-I-PDU-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-TO-I-PDU-MAPPING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-TO-I-PDU-MAPPING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalTriggering -->
   <xsd:group name="I-SIGNAL-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>A ISignalTriggering allows an assignment of ISignals to physical channels.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This reference shall be used if an ISignalGroup is transported on the PhysicalChannel. This reference forms an XOR relationship with the ISignalTriggering-ISignal reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering.iSignalGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-PORT-REFS">
            <xsd:annotation>
               <xsd:documentation>References to the ISignalPort on every ECU of the system which sends and/or receives the ISignal.

References for both the sender and the receiver side shall be included when the system is completely defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering.iSignalPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-PORT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-SIGNAL-PORT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>This reference shall be used if an ISignal is transported on the PhysicalChannel. This reference forms an XOR relationship with the ISignalTriggering-ISignalGroup reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering.iSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>A ISignalTriggering allows an assignment of ISignals to physical channels.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:I-SIGNAL-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-TRIGGERING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-TRIGGERING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::ISignalTriggeringRefConditional -->
   <xsd:group name="I-SIGNAL-TRIGGERING-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggeringRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::ISignalTriggeringRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="I-SIGNAL-TRIGGERING-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:I-SIGNAL-TRIGGERING-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::IdentCaption -->
   <xsd:group name="IDENT-CAPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the caption. This allows having some meta classes optionally identifiable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IdentCaption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Identifiable::Identifiable -->
   <xsd:group name="IDENTIFIABLE">
      <xsd:annotation>
         <xsd:documentation>Instances of this class can be referred to by their identifier (within the namespace borders). In addition to this, Identifiables are objects  which contribute significantly to the overall structure of an AUTOSAR description. In particular, Identifiables might contain Identifiables.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This represents a general but brief (one paragraph) description what the object in question is about. It is only one paragraph! Desc is intended to be collected into overview tables. This property helps a human reader to identify the object in question.

More elaborate documentation, (in particular how the object is built or used) should go to "introduction".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:CATEGORY-STRING">
            <xsd:annotation>
               <xsd:documentation>The category is a keyword that specializes the semantics of the Identifiable. It affects the expected existence of attributes and the applicability of constraints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable.category";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADMIN-DATA" type="AR:ADMIN-DATA">
            <xsd:annotation>
               <xsd:documentation>This represents the administrative data for the identifiable object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable.adminData";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents more information about how the object in question is built or is used. Therefore it is a DocumentationBlock.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Possibility to provide additional notes while defining a model element (e.g. the ECU Configuration Parameter Values). These are not intended as documentation but are mere design notes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable.annotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-25"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANNOTATION" type="AR:ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class Identifiable::Identifiable -->
   <xsd:attributeGroup name="IDENTIFIABLE">
      <xsd:annotation>
         <xsd:documentation>Instances of this class can be referred to by their identifier (within the namespace borders). In addition to this, Identifiables are objects  which contribute significantly to the overall structure of an AUTOSAR description. In particular, Identifiables might contain Identifiables.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="UUID" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The purpose of this attribute is to provide a globally unique identifier for an instance of a meta-class. The values of this attribute should be globally unique strings prefixed by the type of identifier.  For example, to include a
DCE UUID as defined by The Open Group, the UUID would be preceded by "DCE:". The values of this attribute may be used to support merging of different AUTOSAR models. 
The form of the UUID (Universally Unique Identifier) is taken from a standard defined by the Open Group (was Open Software Foundation). This standard is widely used, including by Microsoft for COM (GUIDs) and by many companies for DCE, which is based on CORBA. The method for generating these 128-bit IDs is published in the standard and the effectiveness and uniqueness of the IDs is not in practice disputed.
If the id namespace is omitted, DCE is assumed. 
An example is "DCE:2fac1234-31f8-11b4-a222-08002b34c003".
The uuid attribute has no semantic meaning for an AUTOSAR model and there is no requirement for AUTOSAR tools to manage the timestamp.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Identifiable.uuid";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="IDENTIFIABLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR-ELEMENT"/>
         <xsd:enumeration value="AR-PACKAGE"/>
         <xsd:enumeration value="ABSTRACT-ACCESS-POINT"/>
         <xsd:enumeration value="ABSTRACT-CAN-CLUSTER"/>
         <xsd:enumeration value="ABSTRACT-CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="ABSTRACT-CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="ABSTRACT-CAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="ABSTRACT-CLASS-TAILORING"/>
         <xsd:enumeration value="ABSTRACT-ETHERNET-FRAME"/>
         <xsd:enumeration value="ABSTRACT-EVENT"/>
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-SERVICE-INSTANCE"/>
         <xsd:enumeration value="ACL-OBJECT-SET"/>
         <xsd:enumeration value="ACL-OPERATION"/>
         <xsd:enumeration value="ACL-PERMISSION"/>
         <xsd:enumeration value="ACL-ROLE"/>
         <xsd:enumeration value="AGE-CONSTRAINT"/>
         <xsd:enumeration value="AGGREGATION-TAILORING"/>
         <xsd:enumeration value="ALIAS-NAME-SET"/>
         <xsd:enumeration value="ANALYZED-EXECUTION-TIME"/>
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-ENDPOINT"/>
         <xsd:enumeration value="APPLICATION-ERROR"/>
         <xsd:enumeration value="APPLICATION-PARTITION"/>
         <xsd:enumeration value="APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ARBITRARY-EVENT-TRIGGERING"/>
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="ASSEMBLY-SW-CONNECTOR"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATP-BLUEPRINT"/>
         <xsd:enumeration value="ATP-BLUEPRINTABLE"/>
         <xsd:enumeration value="ATP-CLASSIFIER"/>
         <xsd:enumeration value="ATP-FEATURE"/>
         <xsd:enumeration value="ATP-PROTOTYPE"/>
         <xsd:enumeration value="ATP-STRUCTURE-ELEMENT"/>
         <xsd:enumeration value="ATP-TYPE"/>
         <xsd:enumeration value="ATTRIBUTE-TAILORING"/>
         <xsd:enumeration value="AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-TYPE"/>
         <xsd:enumeration value="AUTOSAR-OPERATION-ARGUMENT-INSTANCE"/>
         <xsd:enumeration value="AUTOSAR-VARIABLE-INSTANCE"/>
         <xsd:enumeration value="BACKGROUND-EVENT"/>
         <xsd:enumeration value="BASE-TYPE"/>
         <xsd:enumeration value="BLUEPRINT-MAPPING-SET"/>
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="BSW-BACKGROUND-EVENT"/>
         <xsd:enumeration value="BSW-CALLED-ENTITY"/>
         <xsd:enumeration value="BSW-DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="BSW-DEBUG-INFO"/>
         <xsd:enumeration value="BSW-ENTRY-RELATIONSHIP-SET"/>
         <xsd:enumeration value="BSW-EVENT"/>
         <xsd:enumeration value="BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="BSW-IMPLEMENTATION"/>
         <xsd:enumeration value="BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="BSW-INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="BSW-INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="BSW-INTERRUPT-ENTITY"/>
         <xsd:enumeration value="BSW-MGR-NEEDS"/>
         <xsd:enumeration value="BSW-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="BSW-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="BSW-MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="BSW-MODULE-DEPENDENCY"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-MODULE-ENTITY"/>
         <xsd:enumeration value="BSW-MODULE-ENTRY"/>
         <xsd:enumeration value="BSW-MODULE-TIMING"/>
         <xsd:enumeration value="BSW-OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="BSW-SCHEDULABLE-ENTITY"/>
         <xsd:enumeration value="BSW-SCHEDULE-EVENT"/>
         <xsd:enumeration value="BSW-SERVICE-DEPENDENCY-IDENT"/>
         <xsd:enumeration value="BSW-TIMING-EVENT"/>
         <xsd:enumeration value="BUILD-ACTION"/>
         <xsd:enumeration value="BUILD-ACTION-ENTITY"/>
         <xsd:enumeration value="BUILD-ACTION-ENVIRONMENT"/>
         <xsd:enumeration value="BUILD-ACTION-MANIFEST"/>
         <xsd:enumeration value="BURST-PATTERN-EVENT-TRIGGERING"/>
         <xsd:enumeration value="CALIBRATION-PARAMETER-VALUE-SET"/>
         <xsd:enumeration value="CAN-CLUSTER"/>
         <xsd:enumeration value="CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="CAN-FRAME"/>
         <xsd:enumeration value="CAN-FRAME-TRIGGERING"/>
         <xsd:enumeration value="CAN-NM-CLUSTER"/>
         <xsd:enumeration value="CAN-NM-NODE"/>
         <xsd:enumeration value="CAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="CAN-TP-ADDRESS"/>
         <xsd:enumeration value="CAN-TP-CHANNEL"/>
         <xsd:enumeration value="CAN-TP-CONFIG"/>
         <xsd:enumeration value="CAN-TP-NODE"/>
         <xsd:enumeration value="CHAPTER"/>
         <xsd:enumeration value="CLASS-CONTENT-CONDITIONAL"/>
         <xsd:enumeration value="CLIENT-ID-DEFINITION"/>
         <xsd:enumeration value="CLIENT-ID-DEFINITION-SET"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING"/>
         <xsd:enumeration value="CLIENT-SERVER-OPERATION"/>
         <xsd:enumeration value="CODE"/>
         <xsd:enumeration value="COLLECTABLE-ELEMENT"/>
         <xsd:enumeration value="COLLECTION"/>
         <xsd:enumeration value="COM-MGR-USER-NEEDS"/>
         <xsd:enumeration value="COMM-CONNECTOR-PORT"/>
         <xsd:enumeration value="COMMUNICATION-CLUSTER"/>
         <xsd:enumeration value="COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="COMPILER"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPU-METHOD"/>
         <xsd:enumeration value="CONCRETE-CLASS-TAILORING"/>
         <xsd:enumeration value="CONCRETE-PATTERN-EVENT-TRIGGERING"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS-BLUEPRINT-SET"/>
         <xsd:enumeration value="CONSTANT-SPECIFICATION"/>
         <xsd:enumeration value="CONSTANT-SPECIFICATION-MAPPING-SET"/>
         <xsd:enumeration value="CONSTRAINT-TAILORING"/>
         <xsd:enumeration value="CONSUMED-EVENT-GROUP"/>
         <xsd:enumeration value="CONSUMED-SERVICE-INSTANCE"/>
         <xsd:enumeration value="CONTAINER-I-PDU"/>
         <xsd:enumeration value="COUPLING-ELEMENT"/>
         <xsd:enumeration value="COUPLING-PORT"/>
         <xsd:enumeration value="COUPLING-PORT-FIFO"/>
         <xsd:enumeration value="COUPLING-PORT-SCHEDULER"/>
         <xsd:enumeration value="COUPLING-PORT-SHAPER"/>
         <xsd:enumeration value="COUPLING-PORT-STRUCTURAL-ELEMENT"/>
         <xsd:enumeration value="CRYPTO-SERVICE-NEEDS"/>
         <xsd:enumeration value="DATA-CONSTR"/>
         <xsd:enumeration value="DATA-EXCHANGE-POINT"/>
         <xsd:enumeration value="DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:enumeration value="DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="DATA-PROTOTYPE"/>
         <xsd:enumeration value="DATA-PROTOTYPE-GROUP"/>
         <xsd:enumeration value="DATA-RECEIVE-ERROR-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="DATA-SEND-COMPLETED-EVENT"/>
         <xsd:enumeration value="DATA-TRANSFORMATION"/>
         <xsd:enumeration value="DATA-TRANSFORMATION-SET"/>
         <xsd:enumeration value="DATA-TYPE-MAPPING-SET"/>
         <xsd:enumeration value="DATA-WRITE-COMPLETED-EVENT"/>
         <xsd:enumeration value="DCM-I-PDU"/>
         <xsd:enumeration value="DELEGATION-SW-CONNECTOR"/>
         <xsd:enumeration value="DEPENDENCY-ON-ARTIFACT"/>
         <xsd:enumeration value="DEVELOPMENT-ERROR"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-ALGORITHM"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-COUNTER-BASED"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-TIME-BASED"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-ACCESS-PERMISSION"/>
         <xsd:enumeration value="DIAGNOSTIC-AGING"/>
         <xsd:enumeration value="DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMPONENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-CONNECTED-INDICATOR"/>
         <xsd:enumeration value="DIAGNOSTIC-CONNECTION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTRIBUTION-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-INSTANCE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-INFO-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-FUNCTION-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-INDICATOR"/>
         <xsd:enumeration value="DIAGNOSTIC-INFO-TYPE"/>
         <xsd:enumeration value="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-NODE"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-PROTOCOL"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ROUTINE-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-LEVEL"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-TABLE"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-START-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-STOP-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-RESULT"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-OBD"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-VALUE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
         <xsd:enumeration value="DLT-USER-NEEDS"/>
         <xsd:enumeration value="DO-IP-ACTIVATION-LINE-NEEDS"/>
         <xsd:enumeration value="DO-IP-GID-NEEDS"/>
         <xsd:enumeration value="DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-LOGIC-ADDRESS"/>
         <xsd:enumeration value="DO-IP-POWER-MODE-STATUS-NEEDS"/>
         <xsd:enumeration value="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-SERVICE-NEEDS"/>
         <xsd:enumeration value="DO-IP-TP-CONFIG"/>
         <xsd:enumeration value="DOCUMENT-ELEMENT-SCOPE"/>
         <xsd:enumeration value="DOCUMENTATION"/>
         <xsd:enumeration value="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
         <xsd:enumeration value="ECU-MAPPING"/>
         <xsd:enumeration value="EOC-EVENT-REF"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF-ABSTRACT"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF-GROUP"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECU-INSTANCE"/>
         <xsd:enumeration value="ECU-PARTITION"/>
         <xsd:enumeration value="ECU-STATE-MGR-USER-NEEDS"/>
         <xsd:enumeration value="ECU-TIMING"/>
         <xsd:enumeration value="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ADD-INFO-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-BOOLEAN-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-COMMON-ATTRIBUTES"/>
         <xsd:enumeration value="ECUC-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CONTAINER-VALUE"/>
         <xsd:enumeration value="ECUC-DEFINITION-COLLECTION"/>
         <xsd:enumeration value="ECUC-DEFINITION-ELEMENT"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF-SET"/>
         <xsd:enumeration value="ECUC-ENUMERATION-LITERAL-DEF"/>
         <xsd:enumeration value="ECUC-ENUMERATION-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FLOAT-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FOREIGN-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-FUNCTION-NAME-DEF"/>
         <xsd:enumeration value="ECUC-INSTANCE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-INTEGER-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-LINKER-SYMBOL-DEF"/>
         <xsd:enumeration value="ECUC-MODULE-CONFIGURATION-VALUES"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="ECUC-MULTILINE-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-PARAM-CONF-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-PARAMETER-DEF"/>
         <xsd:enumeration value="ECUC-QUERY"/>
         <xsd:enumeration value="ECUC-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-URI-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-VALIDATION-CONDITION"/>
         <xsd:enumeration value="ECUC-VALUE-COLLECTION"/>
         <xsd:enumeration value="END-TO-END-PROTECTION"/>
         <xsd:enumeration value="END-TO-END-PROTECTION-SET"/>
         <xsd:enumeration value="ENUMERATION-MAPPING-TABLE"/>
         <xsd:enumeration value="ERROR-TRACER-NEEDS"/>
         <xsd:enumeration value="ETHERNET-CLUSTER"/>
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="ETHERNET-FRAME"/>
         <xsd:enumeration value="ETHERNET-FRAME-TRIGGERING"/>
         <xsd:enumeration value="ETHERNET-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="EVALUATED-VARIANT-SET"/>
         <xsd:enumeration value="EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:enumeration value="EXCLUSIVE-AREA"/>
         <xsd:enumeration value="EXECUTABLE-ENTITY"/>
         <xsd:enumeration value="EXECUTION-ORDER-CONSTRAINT"/>
         <xsd:enumeration value="EXECUTION-TIME"/>
         <xsd:enumeration value="EXECUTION-TIME-CONSTRAINT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGERING-POINT-IDENT"/>
         <xsd:enumeration value="FM-ATTRIBUTE-DEF"/>
         <xsd:enumeration value="FM-FEATURE"/>
         <xsd:enumeration value="FM-FEATURE-MAP"/>
         <xsd:enumeration value="FM-FEATURE-MAP-ASSERTION"/>
         <xsd:enumeration value="FM-FEATURE-MAP-CONDITION"/>
         <xsd:enumeration value="FM-FEATURE-MAP-ELEMENT"/>
         <xsd:enumeration value="FM-FEATURE-MODEL"/>
         <xsd:enumeration value="FM-FEATURE-RELATION"/>
         <xsd:enumeration value="FM-FEATURE-RESTRICTION"/>
         <xsd:enumeration value="FM-FEATURE-SELECTION"/>
         <xsd:enumeration value="FM-FEATURE-SELECTION-SET"/>
         <xsd:enumeration value="FIBEX-ELEMENT"/>
         <xsd:enumeration value="FLAT-INSTANCE-DESCRIPTOR"/>
         <xsd:enumeration value="FLAT-MAP"/>
         <xsd:enumeration value="FLEXRAY-AR-TP-CONFIG"/>
         <xsd:enumeration value="FLEXRAY-AR-TP-NODE"/>
         <xsd:enumeration value="FLEXRAY-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="FLEXRAY-FRAME"/>
         <xsd:enumeration value="FLEXRAY-FRAME-TRIGGERING"/>
         <xsd:enumeration value="FLEXRAY-NM-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-NM-NODE"/>
         <xsd:enumeration value="FLEXRAY-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="FLEXRAY-TP-CONFIG"/>
         <xsd:enumeration value="FLEXRAY-TP-CONNECTION-CONTROL"/>
         <xsd:enumeration value="FLEXRAY-TP-NODE"/>
         <xsd:enumeration value="FLEXRAY-TP-PDU-POOL"/>
         <xsd:enumeration value="FRAME"/>
         <xsd:enumeration value="FRAME-PORT"/>
         <xsd:enumeration value="FRAME-TRIGGERING"/>
         <xsd:enumeration value="FUNCTION-INHIBITION-NEEDS"/>
         <xsd:enumeration value="GATEWAY"/>
         <xsd:enumeration value="GENERAL-PARAMETER"/>
         <xsd:enumeration value="GENERAL-PURPOSE-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-PDU"/>
         <xsd:enumeration value="GENERIC-ETHERNET-FRAME"/>
         <xsd:enumeration value="GLOBAL-SUPERVISION-NEEDS"/>
         <xsd:enumeration value="GLOBAL-TIME-CAN-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-CAN-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-DOMAIN"/>
         <xsd:enumeration value="GLOBAL-TIME-ETH-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-ETH-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-FR-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-FR-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-GATEWAY"/>
         <xsd:enumeration value="GLOBAL-TIME-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-SLAVE"/>
         <xsd:enumeration value="HEAP-USAGE"/>
         <xsd:enumeration value="HW-ATTRIBUTE-DEF"/>
         <xsd:enumeration value="HW-ATTRIBUTE-LITERAL-DEF"/>
         <xsd:enumeration value="HW-CATEGORY"/>
         <xsd:enumeration value="HW-ELEMENT"/>
         <xsd:enumeration value="HW-PIN"/>
         <xsd:enumeration value="HW-PIN-GROUP"/>
         <xsd:enumeration value="HW-TYPE"/>
         <xsd:enumeration value="I-PDU"/>
         <xsd:enumeration value="I-PDU-PORT"/>
         <xsd:enumeration value="I-PV-6-EXT-HEADER-FILTER-LIST"/>
         <xsd:enumeration value="I-PV-6-EXT-HEADER-FILTER-SET"/>
         <xsd:enumeration value="I-SIGNAL"/>
         <xsd:enumeration value="I-SIGNAL-GROUP"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU-GROUP"/>
         <xsd:enumeration value="I-SIGNAL-PORT"/>
         <xsd:enumeration value="I-SIGNAL-TO-I-PDU-MAPPING"/>
         <xsd:enumeration value="I-SIGNAL-TRIGGERING"/>
         <xsd:enumeration value="IDENT-CAPTION"/>
         <xsd:enumeration value="IDENTIFIABLE"/>
         <xsd:enumeration value="IEEE-1722-TP-ETHERNET-FRAME"/>
         <xsd:enumeration value="IMPLEMENTATION"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
         <xsd:enumeration value="INIT-EVENT"/>
         <xsd:enumeration value="INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="INTERPOLATION-ROUTINE-MAPPING-SET"/>
         <xsd:enumeration value="J-1939-CLUSTER"/>
         <xsd:enumeration value="J-1939-CONTROLLER-APPLICATION"/>
         <xsd:enumeration value="J-1939-DCM-I-PDU"/>
         <xsd:enumeration value="J-1939-NM-CLUSTER"/>
         <xsd:enumeration value="J-1939-NM-NODE"/>
         <xsd:enumeration value="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
         <xsd:enumeration value="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
         <xsd:enumeration value="J-1939-SHARED-ADDRESS-CLUSTER"/>
         <xsd:enumeration value="J-1939-TP-CONFIG"/>
         <xsd:enumeration value="J-1939-TP-NODE"/>
         <xsd:enumeration value="KEYWORD"/>
         <xsd:enumeration value="KEYWORD-SET"/>
         <xsd:enumeration value="LATENCY-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="LIFE-CYCLE-INFO-SET"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
         <xsd:enumeration value="LIN-CLUSTER"/>
         <xsd:enumeration value="LIN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="LIN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="LIN-EVENT-TRIGGERED-FRAME"/>
         <xsd:enumeration value="LIN-FRAME"/>
         <xsd:enumeration value="LIN-FRAME-TRIGGERING"/>
         <xsd:enumeration value="LIN-MASTER"/>
         <xsd:enumeration value="LIN-NM-CLUSTER"/>
         <xsd:enumeration value="LIN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="LIN-SCHEDULE-TABLE"/>
         <xsd:enumeration value="LIN-SLAVE"/>
         <xsd:enumeration value="LIN-SPORADIC-FRAME"/>
         <xsd:enumeration value="LIN-TP-CONFIG"/>
         <xsd:enumeration value="LIN-TP-NODE"/>
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
         <xsd:enumeration value="LINKER"/>
         <xsd:enumeration value="LOGIC-ADDRESS"/>
         <xsd:enumeration value="MAC-MULTICAST-GROUP"/>
         <xsd:enumeration value="MC-DATA-INSTANCE"/>
         <xsd:enumeration value="MC-FUNCTION"/>
         <xsd:enumeration value="MEASURED-EXECUTION-TIME"/>
         <xsd:enumeration value="MEASURED-HEAP-USAGE"/>
         <xsd:enumeration value="MEASURED-STACK-USAGE"/>
         <xsd:enumeration value="MEMORY-SECTION"/>
         <xsd:enumeration value="MODE-ACCESS-POINT-IDENT"/>
         <xsd:enumeration value="MODE-DECLARATION"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP-PROTOTYPE"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING-SET"/>
         <xsd:enumeration value="MODE-INTERFACE-MAPPING"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="MODE-SWITCH-POINT"/>
         <xsd:enumeration value="MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="MODE-TRANSITION"/>
         <xsd:enumeration value="MULTIPLEXED-I-PDU"/>
         <xsd:enumeration value="N-PDU"/>
         <xsd:enumeration value="NETWORK-ENDPOINT"/>
         <xsd:enumeration value="NM-CLUSTER"/>
         <xsd:enumeration value="NM-CONFIG"/>
         <xsd:enumeration value="NM-ECU"/>
         <xsd:enumeration value="NM-NODE"/>
         <xsd:enumeration value="NM-PDU"/>
         <xsd:enumeration value="NV-BLOCK-DESCRIPTOR"/>
         <xsd:enumeration value="NV-BLOCK-NEEDS"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="OBD-CONTROL-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-INFO-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-MONITOR-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-PID-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-RATIO-SERVICE-NEEDS"/>
         <xsd:enumeration value="OFFSET-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PACKAGEABLE-ELEMENT"/>
         <xsd:enumeration value="PARAMETER-ACCESS"/>
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PASS-THROUGH-SW-CONNECTOR"/>
         <xsd:enumeration value="PDU"/>
         <xsd:enumeration value="PDU-TO-FRAME-MAPPING"/>
         <xsd:enumeration value="PDU-TRIGGERING"/>
         <xsd:enumeration value="PDUR-I-PDU-GROUP"/>
         <xsd:enumeration value="PER-INSTANCE-MEMORY"/>
         <xsd:enumeration value="PERIODIC-EVENT-TRIGGERING"/>
         <xsd:enumeration value="PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="PHYSICAL-DIMENSION"/>
         <xsd:enumeration value="PHYSICAL-DIMENSION-MAPPING-SET"/>
         <xsd:enumeration value="PORT-GROUP"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING-SET"/>
         <xsd:enumeration value="PORT-PROTOTYPE"/>
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
         <xsd:enumeration value="POSSIBLE-ERROR-REACTION"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION-VALUE-SET"/>
         <xsd:enumeration value="PREDEFINED-VARIANT"/>
         <xsd:enumeration value="PRIMITIVE-ATTRIBUTE-TAILORING"/>
         <xsd:enumeration value="PROVIDED-SERVICE-INSTANCE"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
         <xsd:enumeration value="RTE-EVENT"/>
         <xsd:enumeration value="RAPID-PROTOTYPING-SCENARIO"/>
         <xsd:enumeration value="REFERENCE-TAILORING"/>
         <xsd:enumeration value="RESOURCE-CONSUMPTION"/>
         <xsd:enumeration value="ROOT-SW-COMPOSITION-PROTOTYPE"/>
         <xsd:enumeration value="ROUGH-ESTIMATE-HEAP-USAGE"/>
         <xsd:enumeration value="ROUGH-ESTIMATE-OF-EXECUTION-TIME"/>
         <xsd:enumeration value="ROUGH-ESTIMATE-STACK-USAGE"/>
         <xsd:enumeration value="RPT-COMPONENT"/>
         <xsd:enumeration value="RPT-CONTAINER"/>
         <xsd:enumeration value="RPT-EXECUTABLE-ENTITY"/>
         <xsd:enumeration value="RPT-EXECUTABLE-ENTITY-EVENT"/>
         <xsd:enumeration value="RPT-EXECUTION-CONTEXT"/>
         <xsd:enumeration value="RPT-PROFILE"/>
         <xsd:enumeration value="RPT-SERVICE-POINT"/>
         <xsd:enumeration value="RUNNABLE-ENTITY"/>
         <xsd:enumeration value="RUNNABLE-ENTITY-GROUP"/>
         <xsd:enumeration value="RUNTIME-ERROR"/>
         <xsd:enumeration value="SOMEIP-TRANSFORMATION-PROPS"/>
         <xsd:enumeration value="SDG-ABSTRACT-FOREIGN-REFERENCE"/>
         <xsd:enumeration value="SDG-ABSTRACT-PRIMITIVE-ATTRIBUTE"/>
         <xsd:enumeration value="SDG-AGGREGATION-WITH-VARIATION"/>
         <xsd:enumeration value="SDG-ATTRIBUTE"/>
         <xsd:enumeration value="SDG-CLASS"/>
         <xsd:enumeration value="SDG-DEF"/>
         <xsd:enumeration value="SDG-FOREIGN-REFERENCE"/>
         <xsd:enumeration value="SDG-FOREIGN-REFERENCE-WITH-VARIATION"/>
         <xsd:enumeration value="SDG-PRIMITIVE-ATTRIBUTE"/>
         <xsd:enumeration value="SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION"/>
         <xsd:enumeration value="SDG-REFERENCE"/>
         <xsd:enumeration value="SDG-TAILORING"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-AUTHENTICATION-PROPS"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-FRESHNESS-PROPS"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-PROPS-SET"/>
         <xsd:enumeration value="SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
         <xsd:enumeration value="SECURED-I-PDU"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERIALIZATION-TECHNOLOGY"/>
         <xsd:enumeration value="SERVER-CALL-POINT"/>
         <xsd:enumeration value="SERVICE-NEEDS"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SIMULATED-EXECUTION-TIME"/>
         <xsd:enumeration value="SO-AD-ROUTING-GROUP"/>
         <xsd:enumeration value="SOCKET-ADDRESS"/>
         <xsd:enumeration value="SOMEIP-TP-CONFIG"/>
         <xsd:enumeration value="SPEC-ELEMENT-REFERENCE"/>
         <xsd:enumeration value="SPEC-ELEMENT-SCOPE"/>
         <xsd:enumeration value="SPECIFICATION-DOCUMENT-SCOPE"/>
         <xsd:enumeration value="SPORADIC-EVENT-TRIGGERING"/>
         <xsd:enumeration value="STACK-USAGE"/>
         <xsd:enumeration value="STRUCTURED-REQ"/>
         <xsd:enumeration value="SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
         <xsd:enumeration value="SUPERVISED-ENTITY-NEEDS"/>
         <xsd:enumeration value="SW-ADDR-METHOD"/>
         <xsd:enumeration value="SW-AXIS-TYPE"/>
         <xsd:enumeration value="SW-BASE-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-PROTOTYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-CONNECTOR"/>
         <xsd:enumeration value="SW-GENERIC-AXIS-PARAM-TYPE"/>
         <xsd:enumeration value="SW-RECORD-LAYOUT"/>
         <xsd:enumeration value="SW-SERVICE-ARG"/>
         <xsd:enumeration value="SW-SYSTEMCONST"/>
         <xsd:enumeration value="SW-SYSTEMCONSTANT-VALUE-SET"/>
         <xsd:enumeration value="SWC-BSW-MAPPING"/>
         <xsd:enumeration value="SWC-IMPLEMENTATION"/>
         <xsd:enumeration value="SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="SWC-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="SWC-SERVICE-DEPENDENCY"/>
         <xsd:enumeration value="SWC-TIMING"/>
         <xsd:enumeration value="SWC-TO-APPLICATION-PARTITION-MAPPING"/>
         <xsd:enumeration value="SWC-TO-ECU-MAPPING"/>
         <xsd:enumeration value="SWC-TO-IMPL-MAPPING"/>
         <xsd:enumeration value="SYNC-TIME-BASE-MGR-USER-NEEDS"/>
         <xsd:enumeration value="SYNCHRONIZATION-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="SYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="SYSTEM"/>
         <xsd:enumeration value="SYSTEM-MAPPING"/>
         <xsd:enumeration value="SYSTEM-SIGNAL"/>
         <xsd:enumeration value="SYSTEM-SIGNAL-GROUP"/>
         <xsd:enumeration value="SYSTEM-TIMING"/>
         <xsd:enumeration value="TD-EVENT-BSW"/>
         <xsd:enumeration value="TD-EVENT-BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-BSW-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-BSW-MODULE"/>
         <xsd:enumeration value="TD-EVENT-COM"/>
         <xsd:enumeration value="TD-EVENT-COMPLEX"/>
         <xsd:enumeration value="TD-EVENT-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-FR-CLUSTER-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-FRAME"/>
         <xsd:enumeration value="TD-EVENT-FRAME-ETHERNET"/>
         <xsd:enumeration value="TD-EVENT-I-PDU"/>
         <xsd:enumeration value="TD-EVENT-I-SIGNAL"/>
         <xsd:enumeration value="TD-EVENT-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-OPERATION"/>
         <xsd:enumeration value="TD-EVENT-SWC"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE"/>
         <xsd:enumeration value="TD-EVENT-TT-CAN-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-TRIGGER"/>
         <xsd:enumeration value="TD-EVENT-VARIABLE-DATA-PROTOTYPE"/>
         <xsd:enumeration value="TD-EVENT-VFB"/>
         <xsd:enumeration value="TD-EVENT-VFB-PORT"/>
         <xsd:enumeration value="TD-EVENT-VFB-REFERENCE"/>
         <xsd:enumeration value="TCP-OPTION-FILTER-LIST"/>
         <xsd:enumeration value="TCP-OPTION-FILTER-SET"/>
         <xsd:enumeration value="TIMING-CONDITION"/>
         <xsd:enumeration value="TIMING-CONSTRAINT"/>
         <xsd:enumeration value="TIMING-DESCRIPTION"/>
         <xsd:enumeration value="TIMING-DESCRIPTION-EVENT"/>
         <xsd:enumeration value="TIMING-DESCRIPTION-EVENT-CHAIN"/>
         <xsd:enumeration value="TIMING-EVENT"/>
         <xsd:enumeration value="TIMING-EXTENSION"/>
         <xsd:enumeration value="TIMING-EXTENSION-RESOURCE"/>
         <xsd:enumeration value="TIMING-MODE-INSTANCE"/>
         <xsd:enumeration value="TOPIC-1"/>
         <xsd:enumeration value="TP-ADDRESS"/>
         <xsd:enumeration value="TP-CONFIG"/>
         <xsd:enumeration value="TRACEABLE-TEXT"/>
         <xsd:enumeration value="TRACED-FAILURE"/>
         <xsd:enumeration value="TRANSFORMATION-PROPS"/>
         <xsd:enumeration value="TRANSFORMATION-PROPS-SET"/>
         <xsd:enumeration value="TRANSFORMATION-TECHNOLOGY"/>
         <xsd:enumeration value="TRANSFORMER-HARD-ERROR-EVENT"/>
         <xsd:enumeration value="TRANSIENT-FAULT"/>
         <xsd:enumeration value="TRIGGER"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="TTCAN-CLUSTER"/>
         <xsd:enumeration value="TTCAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="TTCAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="TTCAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="UDP-NM-CLUSTER"/>
         <xsd:enumeration value="UDP-NM-NODE"/>
         <xsd:enumeration value="UNIT"/>
         <xsd:enumeration value="UNIT-GROUP"/>
         <xsd:enumeration value="USER-DEFINED-CLUSTER"/>
         <xsd:enumeration value="USER-DEFINED-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="USER-DEFINED-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="USER-DEFINED-ETHERNET-FRAME"/>
         <xsd:enumeration value="USER-DEFINED-GLOBAL-TIME-MASTER"/>
         <xsd:enumeration value="USER-DEFINED-GLOBAL-TIME-SLAVE"/>
         <xsd:enumeration value="USER-DEFINED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="V-2-X-FAC-USER-NEEDS"/>
         <xsd:enumeration value="V-2-X-M-USER-NEEDS"/>
         <xsd:enumeration value="VARIABLE-ACCESS"/>
         <xsd:enumeration value="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
         <xsd:enumeration value="VARIATION-POINT-PROXY"/>
         <xsd:enumeration value="VENDOR-SPECIFIC-SERVICE-NEEDS"/>
         <xsd:enumeration value="VFB-TIMING"/>
         <xsd:enumeration value="VIEW-MAP"/>
         <xsd:enumeration value="VIEW-MAP-SET"/>
         <xsd:enumeration value="VLAN-CONFIG"/>
         <xsd:enumeration value="WAIT-POINT"/>
         <xsd:enumeration value="WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
         <xsd:enumeration value="WORST-CASE-HEAP-USAGE"/>
         <xsd:enumeration value="WORST-CASE-STACK-USAGE"/>
         <xsd:enumeration value="XCP-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>An Identifier is a string with a number of constraints on its appearance, satisfying the requirements typical programming languages define for their Identifiers.

This datatype represents a string, that can be used as a c-Identifier.

It shall start with a letter, may consist of letters, digits and underscores.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Identifier";xml.xsd.customType="IDENTIFIER";xml.xsd.maxLength="128";xml.xsd.pattern="[a-zA-Z][a-zA-Z0-9_]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:IDENTIFIER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:IDENTIFIER"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- attribute group for class IDENTIFIER -->
   <xsd:attributeGroup name="IDENTIFIER">
      <xsd:annotation/>
      <xsd:attribute name="NAME-PATTERN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute represents a pattern which shall be used to define the value of the identifier if the identifier in question is part of a blueprint. 

For more details refer to TPS_StandardizationTemplate.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Identifier.namePattern";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="IDENTIFIER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:maxLength value="128"/>
         <xsd:pattern value="[a-zA-Z][a-zA-Z0-9_]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::Ieee1722Tp -->
   <xsd:group name="IEEE-1722-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for IEEE 1722 configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722Tp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELATIVE-REPRESENTATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the time when content shall be presented (in seconds). The actual absolute time is creation time plus relative presentation time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722Tp.relativeRepresentationTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STREAM-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>IEEE 1722 stream identifier</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722Tp.streamIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-TYPE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Protocol type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722Tp.subType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Revision of Ieee1722 standard</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722Tp.version";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::Ieee1722Tp -->
   <xsd:complexType abstract="false" mixed="false" name="IEEE-1722-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for IEEE 1722 configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722Tp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSPORT-PROTOCOL-CONFIGURATION"/>
         <xsd:group ref="AR:IEEE-1722-TP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::Ieee1722TpEthernetFrame -->
   <xsd:group name="IEEE-1722-TP-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>Ieee1722Tp Ethernet Frame</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="Ieee1722TpEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELATIVE-REPRESENTATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the time when content shall be presented (in seconds). The actual absolute time is creation time plus relative presentation time</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722TpEthernetFrame.relativeRepresentationTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STREAM-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>IEEE 1722 stream identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722TpEthernetFrame.streamIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-TYPE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Protocol type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722TpEthernetFrame.subType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Revision of Ieee1722 standard.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ieee1722TpEthernetFrame.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::Ieee1722TpEthernetFrame -->
   <xsd:complexType abstract="false" mixed="false" name="IEEE-1722-TP-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>Ieee1722Tp Ethernet Frame</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="Ieee1722TpEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:ABSTRACT-ETHERNET-FRAME"/>
         <xsd:group ref="AR:IEEE-1722-TP-ETHERNET-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Implementation::Implementation -->
   <xsd:group name="IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>Description of an implementation a single software component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Implementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUILD-ACTION-MANIFESTS">
            <xsd:annotation>
               <xsd:documentation>A manifest specifying the intended build
actions for the software delivered with this implementation.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.buildActionManifest";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BUILD-ACTION-MANIFEST-REF-CONDITIONAL" type="AR:BUILD-ACTION-MANIFEST-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CODE-DESCRIPTORS">
            <xsd:annotation>
               <xsd:documentation>Specifies the provided implementation code.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.codeDescriptor";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CODE" type="AR:CODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPILERS">
            <xsd:annotation>
               <xsd:documentation>Specifies the compiler for which this implementation has been released</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.compiler";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPILER" type="AR:COMPILER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GENERATED-ARTIFACTS">
            <xsd:annotation>
               <xsd:documentation>Relates to an artifact that will be generated during the integration of this Implementation by an associated generator tool. Note that this is an optional information since it might  not always be in the scope of a single module or component  to provide this information.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.generatedArtifact";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DEPENDENCY-ON-ARTIFACT" type="AR:DEPENDENCY-ON-ARTIFACT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>The hardware elements (e.g. the processor) required for this implementation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.hwElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="HW-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LINKERS">
            <xsd:annotation>
               <xsd:documentation>Specifies the linker for which this implementation has been released.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.linker";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LINKER" type="AR:LINKER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-SUPPORT" type="AR:MC-SUPPORT-DATA">
            <xsd:annotation>
               <xsd:documentation>The measurement &amp; calibration support data belonging to this implementation. The aggregtion is &lt;&lt;atpSplitable&gt;&gt; because in case of an already exisiting BSW Implementation model, this description will be added later in the process, namely at code generation time.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="mcSupport";mmt.qualifiedName="Implementation.mcSupport";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROGRAMMING-LANGUAGE" type="AR:PROGRAMMINGLANGUAGE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Programming language the implementation was created in.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.programmingLanguage";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-ARTIFACTS">
            <xsd:annotation>
               <xsd:documentation>Specifies that this Implementation depends on the existance of another artifact (e.g. a library). This aggregation of DependencyOnArtifact is subject to variability with the purpose to support variability in the implementations. Different algorithms in the implementation might cause different dependencies, e.g. the number of used libraries.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.requiredArtifact";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DEPENDENCY-ON-ARTIFACT" type="AR:DEPENDENCY-ON-ARTIFACT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-GENERATOR-TOOLS">
            <xsd:annotation>
               <xsd:documentation>Relates this Implementation to a generator tool in order to generate additional artifacts during integration.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.requiredGeneratorTool";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DEPENDENCY-ON-ARTIFACT" type="AR:DEPENDENCY-ON-ARTIFACT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESOURCE-CONSUMPTION" type="AR:RESOURCE-CONSUMPTION">
            <xsd:annotation>
               <xsd:documentation>All static and dynamic resources for each implementation are described  within the ResourceConsumption class.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="Implementation.resourceConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VERSION" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>Software version of this implementation. The numbering contains three levels (like major, minor, patch), its values are vendor specific.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.swVersion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-BSW-MAPPING-REF">
            <xsd:annotation>
               <xsd:documentation>This allows a mapping between an SWC and  a BSW behavior to be attached to an implementation description (for AUTOSAR Service, ECU Abstraction and Complex Driver Components).  It is up to the methodology to define whether this reference has to be set for the Swc- or BswImplementtion or for both.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.swcBswMapping";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-BSW-MAPPING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-CODE-GENERATOR" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Optional: code generator used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.usedCodeGenerator";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VENDOR-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Vendor ID of this Implementation according to the AUTOSAR vendor list</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Implementation.vendorId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ImplementationDataTypes::ImplementationDataType -->
   <xsd:group name="IMPLEMENTATION-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>Describes a reusable data type on the implementation level. This will typically correspond to a typedef in C-code.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ImplementationDataTypes";mmt.qualifiedName="ImplementationDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-ARRAY-SIZE-PROFILE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the profile which the array will follow in case this data type is a variable size array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataType.dynamicArraySizeProfile";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>Specifies an element of an array, struct, or union data type.

The aggregation of ImplementionDataTypeElement is subject to variability with the purpose to support the conditional existence of elements inside a ImplementationDataType representing a structure. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataType.subElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE-ELEMENT" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL-PROPS" type="AR:SYMBOL-PROPS">
            <xsd:annotation>
               <xsd:documentation>This represents the SymbolProps for the ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="ImplementationDataType.symbolProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-EMITTER" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to control which part of the AUTOSAR toolchain is supposed to trigger data type definitions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataType.typeEmitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ImplementationDataTypes::ImplementationDataType -->
   <xsd:complexType abstract="false" mixed="false" name="IMPLEMENTATION-DATA-TYPE">
      <xsd:annotation>
         <xsd:documentation>Describes a reusable data type on the implementation level. This will typically correspond to a typedef in C-code.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ImplementationDataTypes";mmt.qualifiedName="ImplementationDataType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-TYPE"/>
         <xsd:group ref="AR:IMPLEMENTATION-DATA-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ImplementationDataTypes::ImplementationDataTypeElement -->
   <xsd:group name="IMPLEMENTATION-DATA-TYPE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Declares a data object which is locally aggregated. Such an element can only be used within the scope where it is aggregated. 

This element either consists of further subElements or it is further defined via its swDataDefProps.

There are several use cases within the system of ImplementationDataTypes fur such a local declaration:
* It can represent the elements of an array, defining the element type and array size
* It can represent an element of a struct, defining its type
* It can be the local declaration of a debug element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>The existence of this attributes (if bigger than 0) defines the size of an array and declares that this ImplementationDataTypeElement represents the type of each single array element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement.arraySize";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE-HANDLING" type="AR:ARRAY-SIZE-HANDLING-ENUM">
            <xsd:annotation>
               <xsd:documentation>The way how the size of the array is handled in case of a variable size array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement.arraySizeHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE-SEMANTICS" type="AR:ARRAY-SIZE-SEMANTICS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the meaning of the value of the array size.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement.arraySizeSemantics";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>Element of an array, struct, or union in case of a nested declaration (i.e. without using "typedefs").

The aggregation of ImplementionDataTypeElement is subject to variability with the purpose to support the conditional existence of elements inside a ImplementationDataType representing a structure. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement.subElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE-ELEMENT" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>The properties of this ImplementationDataTypeElementt.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ImplementationDataTypes::ImplementationDataTypeElement -->
   <xsd:complexType abstract="false" mixed="false" name="IMPLEMENTATION-DATA-TYPE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>Declares a data object which is locally aggregated. Such an element can only be used within the scope where it is aggregated. 

This element either consists of further subElements or it is further defined via its swDataDefProps.

There are several use cases within the system of ImplementationDataTypes fur such a local declaration:
* It can represent the elements of an array, defining the element type and array size
* It can represent an element of a struct, defining its type
* It can be the local declaration of a debug element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Transformer::ImplementationDataTypeElementInSystemRef -->
   <xsd:group name="IMPLEMENTATION-DATA-TYPE-ELEMENT-IN-SYSTEM-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to reference an ImplementationDataTypeElement in the context of a System.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-REF">
            <xsd:annotation>
               <xsd:documentation>System that defines the context in which the ImplementationDataTypeElement is defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef.base";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-SWC-PROTOTYPE-REFS">
            <xsd:annotation>
               <xsd:documentation>This is the Software Component Prototype providing/receiving the referenced DataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef.contextSwcPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTEXT-SWC-PROTOTYPE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the port providing/receiving the referenced DataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef.contextPortPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to the AutosarDataPrototype which is typed by the implementationDatatype that may be:
- the target of the ImplementationCompositeDataTypeSubElementInSwcRef in case that no targetImplementationDataTypeElement is used.
- the context of the ImplementationCompositeDataTypeSubElementInSwcRef in which the target can be found in case that the targetImplementationDataTypeElement is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef.rootDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-IMPLEMENTATION-DATA-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>This is a context in case there are subelements with explicit types. The reference has to be ordered to properly reflect the nested structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef.contextImplementationDataElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONTEXT-IMPLEMENTATION-DATA-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-IMPLEMENTATION-DATA-TYPE-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This is a target ImplementationDataTypeElement in case that the rootDataPrototype is composite and the target of ImplementationCompositeDataTypeSubElementInSwcRef is a subElement of the rootDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef.targetImplementationDataTypeElement";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::ImplementationDataTypeElementInSystemRef -->
   <xsd:complexType abstract="false" mixed="false" name="IMPLEMENTATION-DATA-TYPE-ELEMENT-IN-SYSTEM-REF">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to reference an ImplementationDataTypeElement in the context of a System.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeElementInSystemRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-PROTOTYPE-IN-SYSTEM-REF"/>
         <xsd:group ref="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT-IN-SYSTEM-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ImplementationDataTypeSubElementRef -->
   <xsd:group name="IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the specialization of SubElementMapping with respect to ImplementationDataTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeSubElementRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-DATA-TYPE-ELEMENT" type="AR:AR-VARIABLE-IN-IMPLEMENTATION-DATA-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the referenced implementationDataTypeElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeSubElementRef.implementationDataTypeElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ImplementationDataTypeSubElementRef -->
   <xsd:complexType abstract="false" mixed="false" name="IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the specialization of SubElementMapping with respect to ImplementationDataTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationDataTypeSubElementRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SUB-ELEMENT-REF"/>
         <xsd:group ref="AR:IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MeasurementCalibrationSupport::ImplementationElementInParameterInstanceRef -->
   <xsd:group name="IMPLEMENTATION-ELEMENT-IN-PARAMETER-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Describes a reference to a particular ImplementationDataTypeElement instance in the context of a given ParameterDataPrototype.
Thus it refers to a particular element in the implementation description of a software data structure.

Use Case:
The RTE generator publishes its generated structure of calibration parameters in its BSW module description using the "constantMemory" role of ParameterDataPrototypes. Each ParameterDataPrototype describes a group of single calibration parameters. In order to point to these single parameters, this "instance ref" is needed.

Note that this class follows the pattern of an InstanceRef but is not implemented based on the abstract classes because the ImplementationDataType isn't either, especially because ImplementationDataTypeElement isn't derived from AtpPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationElementInParameterInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-REF">
            <xsd:annotation>
               <xsd:documentation>The context for the referred element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationElementInParameterInstanceRef.context";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REF">
            <xsd:annotation>
               <xsd:documentation>The referred data element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationElementInParameterInstanceRef.target";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::ImplementationElementInParameterInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="IMPLEMENTATION-ELEMENT-IN-PARAMETER-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Describes a reference to a particular ImplementationDataTypeElement instance in the context of a given ParameterDataPrototype.
Thus it refers to a particular element in the implementation description of a software data structure.

Use Case:
The RTE generator publishes its generated structure of calibration parameters in its BSW module description using the "constantMemory" role of ParameterDataPrototypes. Each ParameterDataPrototype describes a group of single calibration parameters. In order to point to these single parameters, this "instance ref" is needed.

Note that this class follows the pattern of an InstanceRef but is not implemented based on the abstract classes because the ImplementationDataType isn't either, especially because ImplementationDataTypeElement isn't derived from AtpPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationElementInParameterInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:IMPLEMENTATION-ELEMENT-IN-PARAMETER-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Implementation::ImplementationProps -->
   <xsd:group name="IMPLEMENTATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>Defines a symbol to be used as (depending on the concrete case) either a complete replacement or a prefix when generating code artifacts.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The symbol to be used as (depending on the concrete case) either a complete replacement or a prefix.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ImplementationProps.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class IncludedDataTypes::IncludedDataTypeSet -->
   <xsd:group name="INCLUDED-DATA-TYPE-SET">
      <xsd:annotation>
         <xsd:documentation>An includedDataTypeSet declares that a set of AutosarDataType is used by a basic software module or a software component for its implementation and the AutosarDataType becomes part of the contract. 

This information is required if the AutosarDataType is not used for any DataPrototype owned by this software component or if the enumeration literals, lowerLimit and upperLimit constants shall be generated with a literalPrefix.

The optional literalPrefix is used to add a common prefix on enumeration literals, lowerLimit and upperLimit constants created by the RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IncludedDataTypeSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-REFS">
            <xsd:annotation>
               <xsd:documentation>AutosarDataType belonging to the includedDataTypeSet</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IncludedDataTypeSet.dataType";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TYPE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LITERAL-PREFIX" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>LiteralPrefix defines a common prefix for all AutosarDataTypes of the includedDataTypeSet to be added on enumeration literals, lowerLimit and upperLimit constants created by the RTE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IncludedDataTypeSet.literalPrefix";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class IncludedDataTypes::IncludedDataTypeSet -->
   <xsd:complexType abstract="false" mixed="false" name="INCLUDED-DATA-TYPE-SET">
      <xsd:annotation>
         <xsd:documentation>An includedDataTypeSet declares that a set of AutosarDataType is used by a basic software module or a software component for its implementation and the AutosarDataType becomes part of the contract. 

This information is required if the AutosarDataType is not used for any DataPrototype owned by this software component or if the enumeration literals, lowerLimit and upperLimit constants shall be generated with a literalPrefix.

The optional literalPrefix is used to add a common prefix on enumeration literals, lowerLimit and upperLimit constants created by the RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IncludedDataTypeSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INCLUDED-DATA-TYPE-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclarationGroup::IncludedModeDeclarationGroupSet -->
   <xsd:group name="INCLUDED-MODE-DECLARATION-GROUP-SET">
      <xsd:annotation>
         <xsd:documentation>An IncludedModeDeclarationGroupSet declares that a set of ModeDeclarationGroups used by the software component for its implementation and consequently these ModeDeclarationGroups become part of the contract.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IncludedModeDeclarationGroupSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the referenced ModeDeclarationGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IncludedModeDeclarationGroupSet.modeDeclarationGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PREFIX" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The prefix shall be used by the RTE generator as a prefix for the creation of symbols related to the referenced ModeDeclarationGroups, e.g 
RTE_TRANSITION_&lt;ModeDeclarationGroup&gt;.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IncludedModeDeclarationGroupSet.prefix";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclarationGroup::IncludedModeDeclarationGroupSet -->
   <xsd:complexType abstract="false" mixed="false" name="INCLUDED-MODE-DECLARATION-GROUP-SET">
      <xsd:annotation>
         <xsd:documentation>An IncludedModeDeclarationGroupSet declares that a set of ModeDeclarationGroups used by the software component for its implementation and consequently these ModeDeclarationGroups become part of the contract.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IncludedModeDeclarationGroupSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INCLUDED-MODE-DECLARATION-GROUP-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ListElements::IndentSample -->
   <xsd:group name="INDENT-SAMPLE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to specify indentation of a labeled list by providing a sample content. This content can be measured by the rendering system in order to determine the width of indentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndentSample"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="L-2" type="AR:L-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This represents the indent sample in one particular language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IndentSample.l2";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class ListElements::IndentSample -->
   <xsd:attributeGroup name="INDENT-SAMPLE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to specify indentation of a labeled list by providing a sample content. This content can be measured by the rendering system in order to determine the width of indentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndentSample"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ITEM-LABEL-POS" type="AR:ITEM-LABEL-POS-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The position of the label in case the label is too long. The default is  "NO-NEWLINE"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="IndentSample.itemLabelPos";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class ListElements::IndentSample -->
   <xsd:complexType abstract="false" mixed="false" name="INDENT-SAMPLE">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to specify indentation of a labeled list by providing a sample content. This content can be measured by the rendering system in order to determine the width of indentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndentSample"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INDENT-SAMPLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:INDENT-SAMPLE"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::IndexEntry -->
   <xsd:group name="INDEX-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This class represents an index entry.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndexEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="SUP" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is superscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="IndexEntry.sup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUB" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is subscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="IndexEntry.sub";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class InlineTextElements::IndexEntry -->
   <xsd:complexType abstract="false" mixed="true" name="INDEX-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This class represents an index entry.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndexEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INDEX-ENTRY"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::IndexedArrayElement -->
   <xsd:group name="INDEXED-ARRAY-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This element represents exactly one indexed element in the array.  Either the applicationArrayElement or implementationArrayElement reference shall be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndexedArrayElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-ARRAY-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an ApplicationArrayElement in an array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IndexedArrayElement.applicationArrayElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-ARRAY-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-ARRAY-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an ImplementationDataTypeElement in an array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IndexedArrayElement.implementationArrayElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Position of an element in an array. Starting position is 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IndexedArrayElement.index";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::IndexedArrayElement -->
   <xsd:complexType abstract="false" mixed="false" name="INDEXED-ARRAY-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This element represents exactly one indexed element in the array.  Either the applicationArrayElement or implementationArrayElement reference shall be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IndexedArrayElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INDEXED-ARRAY-ELEMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::InfrastructureServices -->
   <xsd:group name="INFRASTRUCTURE-SERVICES">
      <xsd:annotation>
         <xsd:documentation>Defines the network infrastructure services provided or consumed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InfrastructureServices"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DHCP-SERVER-CONFIGURATION" type="AR:DHCP-SERVER-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Defines the configuration of DHCP servers that are running on the network endpoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InfrastructureServices.dhcpServerConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-ENTITY" type="AR:DO-IP-ENTITY">
            <xsd:annotation>
               <xsd:documentation>Defines whether a infrastructure service that runs on the network endpoint is a DoIP-Entity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InfrastructureServices.doIpEntity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNCHRONIZATION" type="AR:TIME-SYNCHRONIZATION">
            <xsd:annotation>
               <xsd:documentation>Defines the servers / clients in a time synchronised network.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InfrastructureServices.timeSynchronization";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::InfrastructureServices -->
   <xsd:complexType abstract="false" mixed="false" name="INFRASTRUCTURE-SERVICES">
      <xsd:annotation>
         <xsd:documentation>Defines the network infrastructure services provided or consumed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InfrastructureServices"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INFRASTRUCTURE-SERVICES"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::InitEvent -->
   <xsd:group name="INIT-EVENT">
      <xsd:annotation>
         <xsd:documentation>This RTEEvent is supposed to be used for initialization purposes, i.e. for starting and restarting a partition. It is not guaranteed that all RunnableEntities referenced by this InitEvent are executed before the 'regular' RunnableEntities are executed for the first time. The execution order depends on the task mapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InitEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RTEEvents::InitEvent -->
   <xsd:complexType abstract="false" mixed="false" name="INIT-EVENT">
      <xsd:annotation>
         <xsd:documentation>This RTEEvent is supposed to be used for initialization purposes, i.e. for starting and restarting a partition. It is not guaranteed that all RunnableEntities referenced by this InitEvent are executed before the 'regular' RunnableEntities are executed for the first time. The execution order depends on the task mapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InitEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:INIT-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::InitialSdDelayConfig -->
   <xsd:group name="INITIAL-SD-DELAY-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element is used to configure the offer behavior of the server and the find behavior on the client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InitialSdDelayConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-DELAY-MAX-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Max Value in seconds to delay randomly the first offer (if aggregated by SdServerConfig) or the transmission of a find message (if aggregated by SdClientConfig).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InitialSdDelayConfig.initialDelayMaxValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-DELAY-MIN-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Min Value in seconds to delay randomly the first offer (if aggregated by SdServerConfig) or the transmission of a find message (if aggregated by SdClientConfig).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InitialSdDelayConfig.initialDelayMinValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-REPETITIONS-BASE-DELAY" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The base delay for offer repetitions (if aggregated by SdServerConfig) or find repetitions (if aggregated by SdClientConfig. Successive find messages have an exponential back off delay.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InitialSdDelayConfig.initialRepetitionsBaseDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-REPETITIONS-MAX" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Describes the maximum amount of offer repetitions (if aggregated by SdServerConfig) or the maximum amount of find repetitions (if aggregated by SdClientConfig).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InitialSdDelayConfig.initialRepetitionsMax";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::InitialSdDelayConfig -->
   <xsd:complexType abstract="false" mixed="false" name="INITIAL-SD-DELAY-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element is used to configure the offer behavior of the server and the find behavior on the client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InitialSdDelayConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INITIAL-SD-DELAY-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRef::InnerDataPrototypeGroupInCompositionInstanceRef -->
   <xsd:group name="INNER-DATA-PROTOTYPE-GROUP-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a nested DataPrototypeGroup</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InnerDataPrototypeGroupInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-SW-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the nested structure of SwComponentPrototypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerDataPrototypeGroupInCompositionInstanceRef.contextSwComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the target of the InstanceRef</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerDataPrototypeGroupInCompositionInstanceRef.targetDataPrototypeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerDataPrototypeGroupInCompositionInstanceRef.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRef::InnerDataPrototypeGroupInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="INNER-DATA-PROTOTYPE-GROUP-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a nested DataPrototypeGroup</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InnerDataPrototypeGroupInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:INNER-DATA-PROTOTYPE-GROUP-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::InnerPortGroupInCompositionInstanceRef -->
   <xsd:group name="INNER-PORT-GROUP-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InnerPortGroupInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerPortGroupInCompositionInstanceRef.context";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REF">
            <xsd:annotation>
               <xsd:documentation>Links a PortGroup in a composition to another PortGroup, that is defined in a component which is part of this CompositionSwComponentType. There shall be at most one innerGroup per contained SwComponentPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerPortGroupInCompositionInstanceRef.target";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::InnerPortGroupInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="INNER-PORT-GROUP-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InnerPortGroupInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:INNER-PORT-GROUP-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRef::InnerRunnableEntityGroupInCompositionInstanceRef -->
   <xsd:group name="INNER-RUNNABLE-ENTITY-GROUP-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a nested RunnableEntityGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InnerRunnableEntityGroupInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-SW-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the nested structure of SwComponentPrototypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerRunnableEntityGroupInCompositionInstanceRef.contextSwComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-RUNNABLE-ENTITY-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the target association of the InstanceRef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerRunnableEntityGroupInCompositionInstanceRef.targetRunnableEntityGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RUNNABLE-ENTITY-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InnerRunnableEntityGroupInCompositionInstanceRef.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRef::InnerRunnableEntityGroupInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="INNER-RUNNABLE-ENTITY-GROUP-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a nested RunnableEntityGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InnerRunnableEntityGroupInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:INNER-RUNNABLE-ENTITY-GROUP-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::InstanceEventInCompositionInstanceRef -->
   <xsd:group name="INSTANCE-EVENT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstanceEventInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstanceEventInCompositionInstanceRef.contextComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-EVENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstanceEventInCompositionInstanceRef.targetEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RTE-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::InstanceEventInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="INSTANCE-EVENT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstanceEventInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:INSTANCE-EVENT-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstantiationDataDefProps::InstantiationDataDefProps -->
   <xsd:group name="INSTANTIATION-DATA-DEF-PROPS">
      <xsd:annotation>
         <xsd:documentation>This is a general class allowing to apply additional SwDataDefProps to particular instantiations of a DataPrototype.

Typically the accessibility and further information like alias names for a  particular data is modeled on the level of DataPrototypes (especially  VariableDataPrototypes, ParameterDataPrototypes). But due to the recursive  structure of the meta-model concerning data types (a composite (data) type consists  out of data prototypes) a part of the MCD information is described in the data  type (in case of ApplicationCompositeDataType).

This is a strong restriction in the reuse of data typed because the data type should be re-used  for different VariableDataPrototypes and ParameterDataPrototypes to guarantee type  compatibility on C-implementation level (e.g. data of a Port is stored in PIM  or a ParameterDataPrototype used as ROM Block and shall be typed by the same data type as NVRAM Block).

This class overcomes such a restriction if applied properly.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationDataDefProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-INSTANCE" type="AR:AUTOSAR-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>This is the particular ParameterDataPrototypes on which the swDataDefProps shall be applied.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationDataDefProps.parameterInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>These are the particular data definition properties which shall be applied</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationDataDefProps.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-INSTANCE" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the particular VariableDataPrototypes on which the swDataDefProps shall be applied.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationDataDefProps.variableInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationDataDefProps.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstantiationDataDefProps::InstantiationDataDefProps -->
   <xsd:complexType abstract="false" mixed="false" name="INSTANTIATION-DATA-DEF-PROPS">
      <xsd:annotation>
         <xsd:documentation>This is a general class allowing to apply additional SwDataDefProps to particular instantiations of a DataPrototype.

Typically the accessibility and further information like alias names for a  particular data is modeled on the level of DataPrototypes (especially  VariableDataPrototypes, ParameterDataPrototypes). But due to the recursive  structure of the meta-model concerning data types (a composite (data) type consists  out of data prototypes) a part of the MCD information is described in the data  type (in case of ApplicationCompositeDataType).

This is a strong restriction in the reuse of data typed because the data type should be re-used  for different VariableDataPrototypes and ParameterDataPrototypes to guarantee type  compatibility on C-implementation level (e.g. data of a Port is stored in PIM  or a ParameterDataPrototype used as ROM Block and shall be typed by the same data type as NVRAM Block).

This class overcomes such a restriction if applied properly.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationDataDefProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INSTANTIATION-DATA-DEF-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Composition::InstantiationRTEEventProps -->
   <xsd:group name="INSTANTIATION-RTE-EVENT-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to refine the properties of RTEEvents for particular instances of a software component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationRTEEventProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFINED-EVENT-IREF" type="AR:INSTANCE-EVENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This instance ref denotes the Timing Event for which the period shall be refined on an instance level.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationRTEEventProps.refinedEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The main purpose of the shortLabel is to contribute to the splitkey of aggregations that are &lt;&lt;atpSplitable&gt;&gt;.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationRTEEventProps.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationRTEEventProps.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Composition::InstantiationTimingEventProps -->
   <xsd:group name="INSTANTIATION-TIMING-EVENT-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to refine a timing event for particular instances of a software component. This supports then an instance specific timing.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationTimingEventProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the value of the refined activation period.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationTimingEventProps.period";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Composition::InstantiationTimingEventProps -->
   <xsd:complexType abstract="false" mixed="false" name="INSTANTIATION-TIMING-EVENT-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to refine a timing event for particular instances of a software component. This supports then an instance specific timing.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InstantiationTimingEventProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INSTANTIATION-RTE-EVENT-PROPS"/>
         <xsd:group ref="AR:INSTANTIATION-TIMING-EVENT-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AttributeValueVariationPoints::IntegerValueVariationPoint -->
   <xsd:group name="INTEGER-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Integer attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IntegerValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::IntegerValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="INTEGER-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Integer attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IntegerValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:INTEGER-VALUE-VARIATION-POINT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
   </xsd:complexType>
   <!-- element group for class InternalBehavior::InternalBehavior -->
   <xsd:group name="INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>Common base class (abstract) for the internal behavior of both software components and basic software modules/clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTANT-MEMORYS">
            <xsd:annotation>
               <xsd:documentation>Describes a read only memory object containing characteristic value(s)  implemented by this InternalBehavior. 

The shortName of ParameterDataPrototype has to be equal to the ''C' identifier of the described constant.

The characteristic value(s) might be shared between
SwComponentPrototypes of the same SwComponentType.

The aggregation of constantMemory is subject to variability with the purpose to support variability in the software component or module implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="InternalBehavior.constantMemory";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-DATA-PROTOTYPE" type="AR:PARAMETER-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTANT-VALUE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the ConstanSpecificationMapping to be applied for the particular InternalBehavior</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="constantValueMapping";mmt.qualifiedName="InternalBehavior.constantValueMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTANT-VALUE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the DataTypeMapping to be applied for the particular InternalBehavior</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataTypeMapping";mmt.qualifiedName="InternalBehavior.dataTypeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TYPE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DATA-TYPE-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREAS">
            <xsd:annotation>
               <xsd:documentation>This specifies an ExclusiveArea for this InternalBehavior. The exclusiveArea is local to the component resp. module.
The aggregation of ExclusiveAreas is subject to variability.
Note: the number of ExclusiveAreas might vary due to the conditional existence of RunnableEntities or BswModuleEntities.

The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="InternalBehavior.exclusiveArea";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXCLUSIVE-AREA" type="AR:EXCLUSIVE-AREA"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-NESTING-ORDERS">
            <xsd:annotation>
               <xsd:documentation>This represents the set of ExclusiveAreaNestingOrder owned by the InternalBehavior.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="InternalBehavior.exclusiveAreaNestingOrder";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXCLUSIVE-AREA-NESTING-ORDER" type="AR:EXCLUSIVE-AREA-NESTING-ORDER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATIC-MEMORYS">
            <xsd:annotation>
               <xsd:documentation>Describes a read and writeable static memory object representing measurerment variables implemented by this software component. 
The term "static" is used in the meaning of "non-temporary" and does not necessarily specify a linker encapsulation. This kind of memory is only supported if supportsMultipleInstantiation is FALSE.

The shortName of the VariableDataPrototype has to be equal with the ''C' identifier of the described variable.

The aggregation of staticMemory is subject to variability with the purpose to support variability in the software component's implementations. 

Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="InternalBehavior.staticMemory";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class GlobalConstraints::InternalConstrs -->
   <xsd:group name="INTERNAL-CONSTRS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express internal constraints.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the lower limit of the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs.lowerLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the upper limit defined by the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs.upperLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCALE-CONSTRS">
            <xsd:annotation>
               <xsd:documentation>This is one particular scale which contributes to the data constraints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs.scaleConstr";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="40";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SCALE-CONSTR" type="AR:SCALE-CONSTR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-GRADIENT" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This element specifies the maximum slope that may be used in maps and curves.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs.maxGradient";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DIFF" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>Maximum difference that is permitted between two consecutive values if the constraint is applied to an axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs.maxDiff";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MONOTONY" type="AR:MONOTONY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This element specifies the monotony characteristics of the current internal or physical limits. The following table shows the monotony characteristics which are to be filled through the corresponding values. 

If the element has no contents or if it is omitted, "noMonotony" is the default content.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs.monotony";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GlobalConstraints::InternalConstrs -->
   <xsd:complexType abstract="false" mixed="false" name="INTERNAL-CONSTRS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express internal constraints.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalConstrs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INTERNAL-CONSTRS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::InternalTriggerOccurredEvent -->
   <xsd:group name="INTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced internal trigger have been occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>Internal Triggering Point that triggers the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="event.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:INTERNAL-TRIGGERING-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::InternalTriggerOccurredEvent -->
   <xsd:complexType abstract="false" mixed="false" name="INTERNAL-TRIGGER-OCCURRED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced internal trigger have been occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalTriggerOccurredEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:INTERNAL-TRIGGER-OCCURRED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Trigger::InternalTriggeringPoint -->
   <xsd:group name="INTERNAL-TRIGGERING-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns a InternalTriggeringPoint it is entitled to trigger the execution of RunnableEntities of the corresponding software-component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-IMPL-POLICY" type="AR:SW-IMPL-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute, when set to value queued, allows for a queued processing of Triggers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalTriggeringPoint.swImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InternalTriggeringPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Trigger::InternalTriggeringPoint -->
   <xsd:complexType abstract="false" mixed="false" name="INTERNAL-TRIGGERING-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns a InternalTriggeringPoint it is entitled to trigger the execution of RunnableEntities of the corresponding software-component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InternalTriggeringPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:INTERNAL-TRIGGERING-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="INTERNAL-TRIGGERING-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="INTERNAL-TRIGGERING-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InterpolationRoutineMappingSet::InterpolationRoutine -->
   <xsd:group name="INTERPOLATION-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This represents an interpolation routine taken to evaluate the contents of a curve or map against a specific input value.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is the name of the interpolation method which is implemented by the referenced bswModuleEntry. It corresponds to swInterpolationMethod in SwDataDefProps.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutine.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-DEFAULT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This specifies if the current interpolationMethod is the default for the referenced record layout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutine.isDefault";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERPOLATION-ROUTINE-REF">
            <xsd:annotation>
               <xsd:documentation>This specifies a BswModuleEntry which implements the current interpolation method for the given record layout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutine.interpolationRoutine";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InterpolationRoutineMappingSet::InterpolationRoutine -->
   <xsd:complexType abstract="false" mixed="false" name="INTERPOLATION-ROUTINE">
      <xsd:annotation>
         <xsd:documentation>This represents an interpolation routine taken to evaluate the contents of a curve or map against a specific input value.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutine"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INTERPOLATION-ROUTINE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InterpolationRoutineMappingSet::InterpolationRoutineMapping -->
   <xsd:group name="INTERPOLATION-ROUTINE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides a mapping between one record layout and its matching interpolation routines. This allows to formally specify the semantics of the interpolation routines. 

The use case is such that the curves/Maps define an interpolation method. This mapping table specifies which interpolation routine implements methods for a particular record layout. Using this information, the implementer of a software-component can select the appropriate interpolation routine.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutineMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERPOLATION-ROUTINES">
            <xsd:annotation>
               <xsd:documentation>This is one particular interpolation routine which is mapped to the record layout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutineMapping.interpolationRoutine";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INTERPOLATION-ROUTINE" type="AR:INTERPOLATION-ROUTINE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-REF">
            <xsd:annotation>
               <xsd:documentation>This refers to the record layout which is mapped to interpolation routines.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutineMapping.swRecordLayout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-RECORD-LAYOUT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InterpolationRoutineMappingSet::InterpolationRoutineMapping -->
   <xsd:complexType abstract="false" mixed="false" name="INTERPOLATION-ROUTINE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides a mapping between one record layout and its matching interpolation routines. This allows to formally specify the semantics of the interpolation routines. 

The use case is such that the curves/Maps define an interpolation method. This mapping table specifies which interpolation routine implements methods for a particular record layout. Using this information, the implementer of a software-component can select the appropriate interpolation routine.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutineMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INTERPOLATION-ROUTINE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InterpolationRoutineMappingSet::InterpolationRoutineMappingSet -->
   <xsd:group name="INTERPOLATION-ROUTINE-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies a set of interpolation routine mappings.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="InterpolationRoutineMappingSets";mmt.qualifiedName="InterpolationRoutineMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERPOLATION-ROUTINE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This specifies one particular mapping of recordlayout and its matching interpolationRoutines.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InterpolationRoutineMappingSet.interpolationRoutineMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INTERPOLATION-ROUTINE-MAPPING" type="AR:INTERPOLATION-ROUTINE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InterpolationRoutineMappingSet::InterpolationRoutineMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="INTERPOLATION-ROUTINE-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies a set of interpolation routine mappings.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="InterpolationRoutineMappingSets";mmt.qualifiedName="InterpolationRoutineMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:INTERPOLATION-ROUTINE-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::InvalidationPolicy -->
   <xsd:group name="INVALIDATION-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies whether the component can actively invalidate a particular dataElement.

If no invalidationPolicy points to a dataElement this is considered to yield the identical result as if the handleInvalid attribute was set to dontInvalidate.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InvalidationPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the dataElement for which the InvalidationPolicy applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InvalidationPolicy.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-INVALID" type="AR:HANDLE-INVALID-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls how invalidation is applied to the dataElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InvalidationPolicy.handleInvalid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::InvalidationPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="INVALIDATION-POLICY">
      <xsd:annotation>
         <xsd:documentation>Specifies whether the component can actively invalidate a particular dataElement.

If no invalidationPolicy points to a dataElement this is considered to yield the identical result as if the handleInvalid attribute was set to dontInvalidate.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InvalidationPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:INVALIDATION-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::InvertCondition -->
   <xsd:group name="INVERT-CONDITION">
      <xsd:annotation>
         <xsd:documentation>inverts the nested condition</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InvertCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONDITION">
            <xsd:annotation>
               <xsd:documentation>The inverted condition</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="InvertCondition.condition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="AGGREGATION-CONDITION" type="AR:AGGREGATION-CONDITION"/>
                  <xsd:element name="INVERT-CONDITION" type="AR:INVERT-CONDITION"/>
                  <xsd:element name="PRIMITIVE-ATTRIBUTE-CONDITION" type="AR:PRIMITIVE-ATTRIBUTE-CONDITION"/>
                  <xsd:element name="REFERENCE-CONDITION" type="AR:REFERENCE-CONDITION"/>
                  <xsd:element name="TEXTUAL-CONDITION" type="AR:TEXTUAL-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::InvertCondition -->
   <xsd:complexType abstract="false" mixed="false" name="INVERT-CONDITION">
      <xsd:annotation>
         <xsd:documentation>inverts the nested condition</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="InvertCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CONDITION"/>
         <xsd:group ref="AR:INVERT-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::IoHwAbstractionServerAnnotation -->
   <xsd:group name="IO-HW-ABSTRACTION-SERVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>The IoHwAbstractionServerAnnotation will only be used from a sensor- or an actuator component while interacting with the IoHwAbstraction layer.

Note that the "server" in the name of this meta-class is not meant to restrict the usage to ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AGE" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>In case of a SET operation, the age will be interpreted as Delay while in a GET operation (input) it specifies the Lifetime of the signal within the IoHwAbstraction Layer</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.age";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the corresponding ArgumentDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.argument";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ARGUMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-RESOLUTION" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>This value is determined by an appropriate combination of the range, the unit as well as the data-elements type, i.e. (ecuSignalRange.upperLimit-ecuSignalRange.lowerLimit) / (2^datatypelength - 1)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.bswResolution";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the corresponding VariableDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FAILURE-MONITORING-REF">
            <xsd:annotation>
               <xsd:documentation>This is only applicable in SET operations. If it is enabled, the IoHwAbstraction layer will monitor the result of the operation and issue an diagnostic signal. This means especially, that an additional client-server port has to be created. Tools can use this information to cross-check whether for each data-element in a SET operation with FailureMonitoring enabled an additional port is created

The referenced port monitors a failure in the to be monitored VariableDataPrototype of the IoHwAbstraction layer. The referenced port has to be another port of the same Actuator or Sensor Component.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.failureMonitoring";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FILTERING-DEBOUNCING" type="AR:FILTER-DEBOUNCING-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to indicate what kind of filtering/debouncing has been put to the signal in the IoHwAbstraction layer. 

rawData means that no modification of the signal has been applied. This is the default value
debounceData means that the signal is a mean value
waitTimeData means that the signal is delivered by a GET operation after a certain amount of time</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.filteringDebouncing";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PULSE-TEST" type="AR:PULSE-TEST-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates to the connected SensorActuatorSwComponentType whether the VariableDataPrototype can be used to generate pulse test sequences using the IoHwAbstraction layer</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.pulseTest";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the corresponding Trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::IoHwAbstractionServerAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="IO-HW-ABSTRACTION-SERVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>The IoHwAbstractionServerAnnotation will only be used from a sensor- or an actuator component while interacting with the IoHwAbstraction layer.

Note that the "server" in the name of this meta-class is not meant to restrict the usage to ClientServerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IoHwAbstractionServerAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:IO-HW-ABSTRACTION-SERVER-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::Ipv4Configuration -->
   <xsd:group name="IPV-4-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Internet Protocol version 4 (IPv4) configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNMENT-PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority of assignment (1 is highest). If a new address from an assignment method with a higher priority is available, it overwrites the IP address previously assigned by an assignment method with a lower priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.assignmentPriority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-GATEWAY" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>IP address of the default gateway.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.defaultGateway";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DNS-SERVER-ADDRESSES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DNS-SERVER-ADDRESS" type="AR:IP4-ADDRESS-STRING">
                     <xsd:annotation>
                        <xsd:documentation>IP addresses of preconfigured DNS servers.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.dnsServerAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="DNS-SERVER-ADDRESSES"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IP-ADDRESS-KEEP-BEHAVIOR" type="AR:IP-ADDRESS-KEEP-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the lifetime of a dynamically fetched IP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.ipAddressKeepBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IPV-4-ADDRESS" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>IPv4 Address. Notation: 255.255.255.255.
The IP Address shall be declared in case the ipv4AddressSource is FIXED and thus no auto-configuration mechanism is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.ipv4Address";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IPV-4-ADDRESS-SOURCE" type="AR:IPV-4-ADDRESS-SOURCE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines how the node obtains its IP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.ipv4AddressSource";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-MASK" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Network mask. Notation 255.255.255.255</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.networkMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TTL" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Lifespan of data (0..255). The purpose of the TimeToLive field is to avoid a situation in which an undeliverable datagram keeps circulating on a system.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration.ttl";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::Ipv4Configuration -->
   <xsd:complexType abstract="false" mixed="false" name="IPV-4-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Internet Protocol version 4 (IPv4) configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4Configuration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NETWORK-ENDPOINT-ADDRESS"/>
         <xsd:group ref="AR:IPV-4-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::Ipv4DhcpServerConfiguration -->
   <xsd:group name="IPV-4-DHCP-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of a IPv4 DHCP server that runs on the network endpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS-RANGE-LOWER-BOUND" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Lower range of IP addresses to be issued to DHCP clients. IPv4 Address. Notation: 255.255.255.255.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration.addressRangeLowerBound";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS-RANGE-UPPER-BOUND" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Upper range of IP addresses to be issued to DHCP clients. Pv4 Address. Notation: 255.255.255.255.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration.addressRangeUpperBound";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-GATEWAY" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>IP address of the default gateway. Notation 255.255.255.255</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration.defaultGateway";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-LEASE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Amount of time in seconds that a client may keep the IP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration.defaultLeaseTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DNS-SERVER-ADDRESSES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DNS-SERVER-ADDRESS" type="AR:IP4-ADDRESS-STRING">
                     <xsd:annotation>
                        <xsd:documentation>IP addresses of preconfigured DNS servers. Notation 255.255.255.255</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration.dnsServerAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="DNS-SERVER-ADDRESSES"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-MASK" type="AR:IP4-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Default network mask to be used by DHCP clients.
Notation 255.255.255.255</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration.networkMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::Ipv4DhcpServerConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="IPV-4-DHCP-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of a IPv4 DHCP server that runs on the network endpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4DhcpServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:IPV-4-DHCP-SERVER-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::Ipv6Configuration -->
   <xsd:group name="IPV-6-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Internet Protocol version 6 (IPv6) configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNMENT-PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority of assignment (1 is highest). If a new address from an assignment method with a higher priority is available, it overwrites the IP address previously assigned by an assignment method with a lower priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.assignmentPriority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-ROUTER" type="AR:IP6-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>IP address of the default router.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.defaultRouter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DNS-SERVER-ADDRESSES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DNS-SERVER-ADDRESS" type="AR:IP6-ADDRESS-STRING">
                     <xsd:annotation>
                        <xsd:documentation>IP addresses of pre configured DNS servers.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.dnsServerAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="DNS-SERVER-ADDRESSES"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-ANYCAST" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to enable anycast addressing (i.e. to one of multiple receivers).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.enableAnycast";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HOP-COUNT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The distance between two hosts. The hop count n means that n gateways separate the source host from the destination host 
(Range 0..255)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.hopCount";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IP-ADDRESS-KEEP-BEHAVIOR" type="AR:IP-ADDRESS-KEEP-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the lifetime of a dynamically fetched IP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.ipAddressKeepBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IP-ADDRESS-PREFIX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>IPv6 prefix length defines the part of the IPv6 address that is the network prefix.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.ipAddressPrefixLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IPV-6-ADDRESS" type="AR:IP6-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>IPv6 Address. Notation: FFFF:...:FFFF.
The IP Address shall be declared in case the ipv6AddressSource is FIXED and thus no auto-configuration mechanism is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.ipv6Address";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IPV-6-ADDRESS-SOURCE" type="AR:IPV-6-ADDRESS-SOURCE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines how the node obtains its IP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration.ipv6AddressSource";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::Ipv6Configuration -->
   <xsd:complexType abstract="false" mixed="false" name="IPV-6-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Internet Protocol version 6 (IPv6) configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6Configuration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NETWORK-ENDPOINT-ADDRESS"/>
         <xsd:group ref="AR:IPV-6-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::Ipv6DhcpServerConfiguration -->
   <xsd:group name="IPV-6-DHCP-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of a IPv6 DHCP server that runs on the network endpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS-RANGE-LOWER-BOUND" type="AR:IP6-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Lower range of IP addresses to be issued to DHCP clients.  IPv6 Address. Notation: FFFF:...:FFFF.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration.addressRangeLowerBound";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS-RANGE-UPPER-BOUND" type="AR:IP6-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Upper range of IP addresses to be issued to DHCP clients. IPv6 Address. Notation: FFFF:...:FFFF.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration.addressRangeUpperBound";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-GATEWAY" type="AR:IP6-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>IP address of the default gateway. Notation 255.255.255.255</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration.defaultGateway";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-LEASE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Amount of time in seconds that a client may keep the IP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration.defaultLeaseTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DNS-SERVER-ADDRESSES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DNS-SERVER-ADDRESS" type="AR:IP6-ADDRESS-STRING">
                     <xsd:annotation>
                        <xsd:documentation>IP addresses of preconfigured DNS servers. Notation: FFFF:...:FFFF.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration.dnsServerAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="DNS-SERVER-ADDRESSES"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-MASK" type="AR:IP6-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>Default network mask to be used by DHCP clients.
Notation 255.255.255.255</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration.networkMask";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::Ipv6DhcpServerConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="IPV-6-DHCP-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of a IPv6 DHCP server that runs on the network endpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6DhcpServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:IPV-6-DHCP-SERVER-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ListElements::Item -->
   <xsd:group name="ITEM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents one particular item in a list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Item"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Item.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ListElements::Item -->
   <xsd:complexType abstract="false" mixed="false" name="ITEM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents one particular item in a list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Item"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:ITEM"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::J1939Cluster -->
   <xsd:group name="J-1939-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>J1939 specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="J1939Cluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939Cluster.J1939ClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="J-1939-CLUSTER-CONDITIONAL" type="AR:J-1939-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::J1939Cluster -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>J1939 specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="J1939Cluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:ABSTRACT-CAN-CLUSTER"/>
         <xsd:group ref="AR:J-1939-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="J-1939-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="J-1939-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CanTopology::J1939ClusterConditional -->
   <xsd:group name="J-1939-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939ClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939ClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanTopology::J1939ClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939ClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:J-1939-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:J-1939-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CanTopology::J1939ClusterContent -->
   <xsd:group name="J-1939-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939ClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This represents the network ID for the J1939 cluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939Cluster.networkId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-2-SUPPORT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables support for the Request2 PGN (RQST2).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939Cluster.request2Support";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USES-ADDRESS-ARBITRATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether the nodes attached to this channel use an initial address claim, and whether they react to contending address claims of other nodes.
True: The initial address claim is sent, and the node reacts to address claims of other nodes.
False: The node only sends an address claim upon request, and does not care for contending address claims.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939Cluster.usesAddressArbitration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SWmapping::J1939ControllerApplication -->
   <xsd:group name="J-1939-CONTROLLER-APPLICATION">
      <xsd:annotation>
         <xsd:documentation>This element represents a J1939 controller application.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="J1939ControllerApplications";mmt.qualifiedName="J1939ControllerApplication"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the numerical function id of the J1939 controller application.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939ControllerApplication.functionId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-COMPONENT-PROTOTYPE-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the SwComponentPrototype (which is typically typed by a CompositionSwComponentType) that corresponds to the J1939ControllerApplication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939ControllerApplication.swComponentPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::J1939ControllerApplication -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-CONTROLLER-APPLICATION">
      <xsd:annotation>
         <xsd:documentation>This element represents a J1939 controller application.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="J1939ControllerApplications";mmt.qualifiedName="J1939ControllerApplication"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:J-1939-CONTROLLER-APPLICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="J-1939-CONTROLLER-APPLICATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="J-1939-CONTROLLER-APPLICATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SWmapping::J1939ControllerApplicationToJ1939NmNodeMapping -->
   <xsd:group name="J-1939-CONTROLLER-APPLICATION-TO-J-1939-NM-NODE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a J1939ControllerApplication to a J1939NmNode. Note that this is similar but not identical to the mapping of SwComponentPrototypes to EcuInstances; for J1939 the semantics of an EcuInstance itself is basically replaced by a J1939NmNode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939ControllerApplicationToJ1939NmNodeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-CONTROLLER-APPLICATION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the J1939 Controller Application that is mapped to the referenced J1939NmNode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939ControllerApplicationToJ1939NmNodeMapping.j1939ControllerApplication";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:J-1939-CONTROLLER-APPLICATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-NM-NODE-REF">
            <xsd:annotation>
               <xsd:documentation>J1939NmNode that is the target of the J1939ControllerApplicationTo1939NmNodeMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939ControllerApplicationToJ1939NmNodeMapping.j1939NmNode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:J-1939-NM-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::J1939ControllerApplicationToJ1939NmNodeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-CONTROLLER-APPLICATION-TO-J-1939-NM-NODE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a J1939ControllerApplication to a J1939NmNode. Note that this is similar but not identical to the mapping of SwComponentPrototypes to EcuInstances; for J1939 the semantics of an EcuInstance itself is basically replaced by a J1939NmNode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939ControllerApplicationToJ1939NmNodeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:J-1939-CONTROLLER-APPLICATION-TO-J-1939-NM-NODE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::J1939DcmIPdu -->
   <xsd:group name="J-1939-DCM-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Represents the IPdus handled by J1939Dcm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="J1939DcmIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIAGNOSTIC-MESSAGE-TYPE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to identify the actual DMx message, e.g 1 means DM01, etc.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939DcmIPdu.diagnosticMessageType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::J1939DcmIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-DCM-I-PDU">
      <xsd:annotation>
         <xsd:documentation>Represents the IPdus handled by J1939Dcm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="J1939DcmIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:J-1939-DCM-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::J1939NmCluster -->
   <xsd:group name="J-1939-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>J1939 specific NmCluster attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS-CLAIM-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies whether the J1939Nm Bsw module is used or not. If this attribute is set to false then the J1939Nm configuration shall not be derived from the system description. But even in this case the nmNodeId might still be necessary for the J1939Rm and J1939Tp.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmCluster.addressClaimEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::J1939NmCluster -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>J1939 specific NmCluster attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-CLUSTER"/>
         <xsd:group ref="AR:J-1939-NM-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::J1939NmEcu -->
   <xsd:group name="J-1939-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>J1939 NmEcu specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class NetworkManagement::J1939NmEcu -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>J1939 NmEcu specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUSSPECIFIC-NM-ECU"/>
         <xsd:group ref="AR:J-1939-NM-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::J1939NmNode -->
   <xsd:group name="J-1939-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>J1939 specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NODE-NAME" type="AR:J-1939-NODE-NAME">
            <xsd:annotation>
               <xsd:documentation>NodeName configuration</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmNode.nodeName";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::J1939NmNode -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>J1939 specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-NODE"/>
         <xsd:group ref="AR:J-1939-NM-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="J-1939-NM-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="J-1939-NM-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class NetworkManagement::J1939NodeName -->
   <xsd:group name="J-1939-NODE-NAME">
      <xsd:annotation>
         <xsd:documentation>This element contains attributes to configure the J1939NmNode NAME.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARBITRARY-ADDRESS-CAPABLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Arbitrary Address Capable field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.arbitraryAddressCapable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>ECU Instance field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Function field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.function";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-INSTANCE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Function Instance field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.functionInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENTITIY-NUMBER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Identity Number field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.identitiyNumber";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDUSTRY-GROUP" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Industry Group field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.industryGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MANUFACTURER-CODE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Manufacturer Code field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.manufacturerCode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VEHICLE-SYSTEM" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Vehicle System field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.vehicleSystem";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VEHICLE-SYSTEM-INSTANCE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Vehicle System Instance field of the NAME of this node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName.vehicleSystemInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::J1939NodeName -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-NODE-NAME">
      <xsd:annotation>
         <xsd:documentation>This element contains attributes to configure the J1939NmNode NAME.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939NodeName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:J-1939-NODE-NAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::J1939RmIncomingRequestServiceNeeds -->
   <xsd:group name="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>"This meta-class shall be used to specify needs with respect to the configuration of the J1939Rm, in particular for the case where an ApplicationSwComponentType needs to accept a request from another J1939 node.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939RmIncomingRequestServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::J1939RmIncomingRequestServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>"This meta-class shall be used to specify needs with respect to the configuration of the J1939Rm, in particular for the case where an ApplicationSwComponentType needs to accept a request from another J1939 node.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939RmIncomingRequestServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::J1939RmOutgoingRequestServiceNeeds -->
   <xsd:group name="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class shall be used to specify needs with respect to the configuration of the J1939Rm, in particular for the case where an ApplicationSwComponentType needs to send a request to another J1939 node.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939RmOutgoingRequestServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::J1939RmOutgoingRequestServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class shall be used to specify needs with respect to the configuration of the J1939Rm, in particular for the case where an ApplicationSwComponentType needs to send a request to another J1939 node.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939RmOutgoingRequestServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SystemTemplate::J1939SharedAddressCluster -->
   <xsd:group name="J-1939-SHARED-ADDRESS-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to identify several J1939Clusters that share a common address space for the routing of messages</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939SharedAddressCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARTICIPATING-J-1939-CLUSTER-REFS">
            <xsd:annotation>
               <xsd:documentation>This identifies the J1939Clusters that share a common address space</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939SharedAddressCluster.participatingJ1939Cluster";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARTICIPATING-J-1939-CLUSTER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:J-1939-CLUSTER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939SharedAddressCluster.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemTemplate::J1939SharedAddressCluster -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-SHARED-ADDRESS-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to identify several J1939Clusters that share a common address space for the routing of messages</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939SharedAddressCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:J-1939-SHARED-ADDRESS-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::J1939TpConfig -->
   <xsd:group name="J-1939-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one J1939 TP Configuration. 

One J1939TpConfig element shall be created for each J1939 Network in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="J1939TpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConfig.tpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TP-ADDRESS" type="AR:TP-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConfig.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="J-1939-TP-CONNECTION" type="AR:J-1939-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-NODES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConfig.tpNode";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="J-1939-TP-NODE" type="AR:J-1939-TP-NODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::J1939TpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one J1939 TP Configuration. 

One J1939TpConfig element shall be created for each J1939 Network in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="J1939TpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:J-1939-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::J1939TpConnection -->
   <xsd:group name="J-1939-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A J1939TpConnection represents an internal path for the transmission or reception of a Pdu via J1939Tp and describes the the sender and the receiver of this particular communication. The J1939Tp module routes a Pdu (J1939 PGN) through the connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BROADCAST" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>BAM (Broadcast Announce Message)  is a broadcast protocol. If this attribute is set to true broadcast is used. Since address FF is the only broadcast address, there's no reason to configure it.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.broadcast";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUFFER-RATIO" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines usage of available data for dynamic block size calculation when protocol retry is enabled. This attribute describes in percent of available buffer that shall be used for retry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.bufferRatio";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CANCELLATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enable support for Tx/Rx cancellation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.cancellation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Data Message (TP.DT) used by CMDT and BAM.
 
The DataNPdu has a fixed length of 8 bytes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.dataPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECT-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Please note that this reference is deprecated and will be removed in the future. This reference is replaced by the J1939TpPg.directPdu reference.

Old description:
In case of variable length IPdus (with system signals of variable length), an additional NPdu (with the PGN in the CAN ID) is used for messages with up to 8 bytes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="J1939TpConnection.directPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-BS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enable support for dynamic block size calculation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.dynamicBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLOW-CONTROL-PDU-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the Command NPdus (TP.CM) that are used in the CMDT (Connection Mode Data Transfer) in both directions. 

BAM uses one TP.CM (Transport Protocol Command). 

The flowControlNPdu has a fixed length of 8 bytes.

Please note that the role name "flowControlIPdu" is misleading and is kept for backward compatibilty reasons.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.flowControlPdu";pureMM.maxOccurs="2";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="FLOW-CONTROL-PDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-BS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Set maximum block size (number of packets in TP.CM_CTS).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.maxBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-EXP-BS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Set maximum for expected block size (maximum number of packets in TP.CM_RTS).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.maxExpBs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVER-REFS">
            <xsd:annotation>
               <xsd:documentation>The target of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.receiver";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECEIVER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:J-1939-TP-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RETRY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enable support for protocol retry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.retry";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-PGS">
            <xsd:annotation>
               <xsd:documentation>J1939 messages (parameter groups, PGs) that can be transferred via this connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.tpPg";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="J-1939-TP-PG" type="AR:J-1939-TP-PG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-SDU-REFS">
            <xsd:annotation>
               <xsd:documentation>Please note that this reference is deprecated and will be removed in the future. This reference is replaced by the J1939TpPg.tpSdu reference.

Old description:
Reference to IPdus that are segmented by the Transport Protocol. 

To support the low-level routing of NPdu's the NPdu is a specialization of an IPdu. More details can be found in the NPdu class description. Nevertheless the J1939TpConnection must not reference a NPdu with this tpSdu reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="J1939TpConnection.tpSdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TP-SDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMITTER-REF">
            <xsd:annotation>
               <xsd:documentation>The source of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.transmitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:J-1939-TP-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::J1939TpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A J1939TpConnection represents an internal path for the transmission or reception of a Pdu via J1939Tp and describes the the sender and the receiver of this particular communication. The J1939Tp module routes a Pdu (J1939 PGN) through the connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-CONNECTION"/>
         <xsd:group ref="AR:J-1939-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::J1939TpNode -->
   <xsd:group name="J-1939-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>Asscociation to a CommunicationConnector in the topology description. In a System Description this reference is mandatory. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpNode.connector";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the TP Address that is used by the TpNode. This reference is optional only when no TP is sent and only BAM is received.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpNode.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpNode.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::J1939TpNode -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:J-1939-TP-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="J-1939-TP-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="J-1939-TP-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::J1939TpPg -->
   <xsd:group name="J-1939-TP-PG">
      <xsd:annotation>
         <xsd:documentation>A J1939TpPg represents one J1939 message (parameter group, PG) identified by the PGN (parameter group number) that can be received or transmitted via J1939Tp.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpPg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECT-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>In case of variable length IPdus (with system signals of variable length), an additional NPdu (with the PGN in the CAN ID) is used for messages with up to 8 bytes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpPg.directPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PGN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Parameter group number (PGN) of a J1939 message (parameter group, PG) that can be received or transmitted via J1939Tp. The PGN may be omitted when the a directPdu is referenced and is mapped into a CanFrameTriggering with an identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpPg.pgn";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUESTABLE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Parameter Group can be triggered by the J1939 request message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpPg.requestable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDU-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to IPdus that are segmented by the Transport Protocol. If more than one IPdu is referenced, the IPdus are used when the same PGN is received in parallel via different transport protocols (BAM, CMDT, direct) on the same J1939TpConnection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpPg.sdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to IPdus that are segmented by the Transport Protocol. 

To support the low-level routing of NPdu's the NPdu is a specialization of an IPdu. More details can be found in the NPdu class description. Nevertheless the J1939TpConnection must not reference a NPdu with this tpSdu reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="J1939TpPg.tpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::J1939TpPg -->
   <xsd:complexType abstract="false" mixed="false" name="J-1939-TP-PG">
      <xsd:annotation>
         <xsd:documentation>A J1939TpPg represents one J1939 message (parameter group, PG) identified by the PGN (parameter group number) that can be received or transmitted via J1939Tp.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="J1939TpPg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:J-1939-TP-PG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Keyword::Keyword -->
   <xsd:group name="KEYWORD">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to predefine keywords which may subsequently be used to construct names following a given naming convention, e.g. the AUTOSAR naming conventions.

Note that such names is not only shortName. It could be symbol, or even longName. Application of keywords is not limited to particular names.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Keyword"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ABBR-NAME" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies an abbreviated name of a keyword. This abbreviation may e.g. be used for constructing valid shortNames according to  the AUTOSAR naming conventions. 

Unlike shortName, it may contain any name token. E.g. it may consist of digits only.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Keyword.abbrName";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLASSIFICATIONS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLASSIFICATION" type="AR:NMTOKEN-STRING">
                     <xsd:annotation>
                        <xsd:documentation>This attribute allows to attach classification to the Keyword such as MEAN, ACTION, CONDITION, INDEX, PREPOSITION</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="Keyword.classification";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Keyword::Keyword -->
   <xsd:complexType abstract="false" mixed="false" name="KEYWORD">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to predefine keywords which may subsequently be used to construct names following a given naming convention, e.g. the AUTOSAR naming conventions.

Note that such names is not only shortName. It could be symbol, or even longName. Application of keywords is not limited to particular names.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Keyword"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:KEYWORD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Keyword::KeywordSet -->
   <xsd:group name="KEYWORD-SET">
      <xsd:annotation>
         <xsd:documentation>This meta--class represents the ability to collect a set of predefined keywords.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="KeywordSets";mmt.qualifiedName="KeywordSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEYWORDS">
            <xsd:annotation>
               <xsd:documentation>This is one particular keyword in the keyword set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="KeywordSet.keyword";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="KEYWORD" type="AR:KEYWORD"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Keyword::KeywordSet -->
   <xsd:complexType abstract="false" mixed="false" name="KEYWORD-SET">
      <xsd:annotation>
         <xsd:documentation>This meta--class represents the ability to collect a set of predefined keywords.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="KeywordSets";mmt.qualifiedName="KeywordSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:KEYWORD-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Figure::LGraphic -->
   <xsd:group name="L-GRAPHIC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the figure in one particular language.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LGraphic"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="GRAPHIC" type="AR:GRAPHIC">
            <xsd:annotation>
               <xsd:documentation>Reference to the actual graphic represented in the figure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LGraphic.graphic";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAP" type="AR:MAP">
            <xsd:annotation>
               <xsd:documentation>Image maps enable authors to specify regions of an image or object and assign a specific action to each region.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LGraphic.map";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Figure::LGraphic -->
   <xsd:complexType abstract="false" mixed="false" name="L-GRAPHIC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the figure in one particular language.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LGraphic"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LANGUAGE-SPECIFIC"/>
         <xsd:group ref="AR:L-GRAPHIC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:LANGUAGE-SPECIFIC"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::LLongName -->
   <xsd:group name="L-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>MixedContentForLongNames  in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LanguageDataModel::LLongName -->
   <xsd:complexType abstract="false" mixed="true" name="L-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>MixedContentForLongNames  in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LANGUAGE-SPECIFIC"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-LONG-NAME"/>
         <xsd:group ref="AR:L-LONG-NAME"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:LANGUAGE-SPECIFIC"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::LOverviewParagraph -->
   <xsd:group name="L-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>MixedContentForOverviewParagraph in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LanguageDataModel::LOverviewParagraph -->
   <xsd:complexType abstract="false" mixed="true" name="L-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>MixedContentForOverviewParagraph in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LANGUAGE-SPECIFIC"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-OVERVIEW-PARAGRAPH"/>
         <xsd:group ref="AR:L-OVERVIEW-PARAGRAPH"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:LANGUAGE-SPECIFIC"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::LParagraph -->
   <xsd:group name="L-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the text for a paragraph in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LanguageDataModel::LParagraph -->
   <xsd:complexType abstract="false" mixed="true" name="L-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the text for a paragraph in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LANGUAGE-SPECIFIC"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-PARAGRAPH"/>
         <xsd:group ref="AR:L-PARAGRAPH"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:LANGUAGE-SPECIFIC"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::LPlainText -->
   <xsd:group name="L-PLAIN-TEXT">
      <xsd:annotation>
         <xsd:documentation>This represents plain string in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LPlainText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LanguageDataModel::LPlainText -->
   <xsd:complexType abstract="false" mixed="true" name="L-PLAIN-TEXT">
      <xsd:annotation>
         <xsd:documentation>This represents plain string in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LPlainText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LANGUAGE-SPECIFIC"/>
         <xsd:group ref="AR:WHITESPACE-CONTROLLED"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-PLAIN-TEXT"/>
         <xsd:group ref="AR:L-PLAIN-TEXT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:LANGUAGE-SPECIFIC"/>
      <xsd:attributeGroup ref="AR:WHITESPACE-CONTROLLED"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::LVerbatim -->
   <xsd:group name="L-VERBATIM">
      <xsd:annotation>
         <xsd:documentation>MixedContentForVerbatim in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LVerbatim"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LanguageDataModel::LVerbatim -->
   <xsd:complexType abstract="false" mixed="true" name="L-VERBATIM">
      <xsd:annotation>
         <xsd:documentation>MixedContentForVerbatim in one particular language. The language is denoted in the attribute l.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LVerbatim"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LANGUAGE-SPECIFIC"/>
         <xsd:group ref="AR:WHITESPACE-CONTROLLED"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-VERBATIM"/>
         <xsd:group ref="AR:L-VERBATIM"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:LANGUAGE-SPECIFIC"/>
      <xsd:attributeGroup ref="AR:WHITESPACE-CONTROLLED"/>
   </xsd:complexType>
   <!-- element group for class ListElements::LabeledItem -->
   <xsd:group name="LABELED-ITEM">
      <xsd:annotation>
         <xsd:documentation>this represents an item of a labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LabeledItem"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ITEM-LABEL" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This is the label of the item.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LabeledItem.itemLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LabeledItem.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class ListElements::LabeledItem -->
   <xsd:attributeGroup name="LABELED-ITEM">
      <xsd:annotation>
         <xsd:documentation>this represents an item of a labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LabeledItem"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="LabeledItem.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class ListElements::LabeledItem -->
   <xsd:complexType abstract="false" mixed="false" name="LABELED-ITEM">
      <xsd:annotation>
         <xsd:documentation>this represents an item of a labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LabeledItem"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:LABELED-ITEM"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:LABELED-ITEM"/>
   </xsd:complexType>
   <!-- element group for class ListElements::LabeledList -->
   <xsd:group name="LABELED-LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a labeled list, in which items have a label and a content. The policy how to render such items is specified in the labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LabeledList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDENT-SAMPLE" type="AR:INDENT-SAMPLE">
            <xsd:annotation>
               <xsd:documentation>This is a sample item. This sample is used by a rendering system to measure out the width of indentation. Since this depends on the particular fontsize etc. the indentation cannot be specified e.g. in mm.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LabeledList.indentSample";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="LABELED-ITEM" type="AR:LABELED-ITEM">
            <xsd:annotation>
               <xsd:documentation>This represents one particular item in the labeled list.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LabeledList.labeledItem";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="30";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LabeledList.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ListElements::LabeledList -->
   <xsd:complexType abstract="false" mixed="false" name="LABELED-LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a labeled list, in which items have a label and a content. The policy how to render such items is specified in the labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LabeledList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:LABELED-LIST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::LanguageSpecific -->
   <xsd:group name="LANGUAGE-SPECIFIC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a particular language for which an object is applicable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LanguageSpecific"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class LanguageDataModel::LanguageSpecific -->
   <xsd:attributeGroup name="LANGUAGE-SPECIFIC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a particular language for which an object is applicable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LanguageSpecific"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="L" type="AR:L-ENUM--SIMPLE" use="required">
         <xsd:annotation>
            <xsd:documentation>'This attribute denotes the language in which the language specific document entity is given. Note that "FOR-ALL" means, that the entity is applicable to all languages. It is language neutral.

It follows ISO 639-1:2002 and is specified in upper case.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="LanguageSpecific.l";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true";xml.enforceMinMultiplicity="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class LatencyTimingConstraint::LatencyTimingConstraint -->
   <xsd:group name="LATENCY-TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>This constraint type restricts the time duration between the occurrence of the stimulus and the occurrence of the corresponding response of that chain.

Two latency constraint types are of interest for automotive systems. These are the age of a certain response and the reaction to a certain stimulus.

In contrast to OffsetTimingConstraint, a causal dependency between the stimulus and response event of the associated event chain is required.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LATENCY-CONSTRAINT-TYPE" type="AR:LATENCY-CONSTRAINT-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this latency constraint</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint.latencyConstraintType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCOPE-REF">
            <xsd:annotation>
               <xsd:documentation>The event chain that defines the scope of the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint.scope";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT-CHAIN--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum latency between the occurrence of the stimulus and the occureence of the corresponding response of the associatied event chain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint.minimum";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum latency between the occurrence of the stimulus and the occureence of the corresponding response of the associatied event chain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint.maximum";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NOMINAL" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The nominal latency between the occurrence of the stimulus and the occureence of the corresponding response of the associatied event chain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint.nominal";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LatencyTimingConstraint::LatencyTimingConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="LATENCY-TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>This constraint type restricts the time duration between the occurrence of the stimulus and the occurrence of the corresponding response of that chain.

Two latency constraint types are of interest for automotive systems. These are the age of a certain response and the reaction to a certain stimulus.

In contrast to OffsetTimingConstraint, a causal dependency between the stimulus and response event of the associated event chain is required.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LatencyTimingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:LATENCY-TIMING-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LifeCycles::LifeCycleInfo -->
   <xsd:group name="LIFE-CYCLE-INFO">
      <xsd:annotation>
         <xsd:documentation>LifeCycleInfo describes the life cycle state of an element together with additional information like what to use instead</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LC-OBJECT-REF">
            <xsd:annotation>
               <xsd:documentation>Element(s) have the life cycle as described in lcState.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo.lcObject";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LC-STATE-REF">
            <xsd:annotation>
               <xsd:documentation>This denotes the particular state assigned to the object.
If no lcState is given then the default life cycle state of LifeCycleInfoSet is assumed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo.lcState";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIFE-CYCLE-STATE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD-BEGIN" type="AR:LIFE-CYCLE-PERIOD">
            <xsd:annotation>
               <xsd:documentation>Starting point of period in which the element has the denoted life cycle state lcState. If no periodBegin is given then the default period begin of LifeCycleInfoSet is assumed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo.periodBegin";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD-END" type="AR:LIFE-CYCLE-PERIOD">
            <xsd:annotation>
               <xsd:documentation>Expiry date, i.e. end point of period the element does not have the denoted life cycle state lcState any more. If no periodEnd is given then the default period begin of LifeCycleInfoSet is assumed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo.periodEnd";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REMARK" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>Remark describing for example 
* why the element was given the specified life cycle
* the semantics of useInstead</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo.remark";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-INSTEAD-REFS">
            <xsd:annotation>
               <xsd:documentation>Element(s) that should be used instead of the one denoted in  referrable. 

Only relevant in case of life cycle states lcState unlike "valid".
In case there are multiple references the exact semantics must be individually described in the remark.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo.useInstead";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="USE-INSTEAD-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LifeCycles::LifeCycleInfo -->
   <xsd:complexType abstract="false" mixed="false" name="LIFE-CYCLE-INFO">
      <xsd:annotation>
         <xsd:documentation>LifeCycleInfo describes the life cycle state of an element together with additional information like what to use instead</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfo"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LIFE-CYCLE-INFO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LifeCycles::LifeCycleInfoSet -->
   <xsd:group name="LIFE-CYCLE-INFO-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to attach a life cycle  information to a particular set of elements.

The information can be defined for a particular period. This supports the definition of transition plans.

If no period is specified, the life cycle state applies forever.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="LifeCycleInfoSets";mmt.qualifiedName="LifeCycleInfoSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-LC-STATE-REF">
            <xsd:annotation>
               <xsd:documentation>This denotes the default life cycle state. To be used in all LifeCycleInfo elements within the LifeCycleInfoSet if no life cycle state is stated there explicitly. I.e. the defaultLcState can be overwritten in LifeCycleInfo elements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfoSet.defaultLcState";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIFE-CYCLE-STATE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-PERIOD-BEGIN" type="AR:LIFE-CYCLE-PERIOD">
            <xsd:annotation>
               <xsd:documentation>Default starting point of period in which all the specified lifeCycleInfo apply. Note that the default period can be overridden for each lifeCycleInfo individually.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfoSet.defaultPeriodBegin";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-PERIOD-END" type="AR:LIFE-CYCLE-PERIOD">
            <xsd:annotation>
               <xsd:documentation>Default expiry date, i.e. default end point of period for which all specified lifeCycleInfo apply. Note that the default period can be overridden for each lifeCycleInfo individually.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfoSet.defaultPeriodEnd";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIFE-CYCLE-INFOS">
            <xsd:annotation>
               <xsd:documentation>This represents one particular life cycle information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfoSet.lifeCycleInfo";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIFE-CYCLE-INFO" type="AR:LIFE-CYCLE-INFO"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-LIFE-CYCLE-STATE-DEFINITION-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This denotes the life cycle states applicable to the current life cycle info set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleInfoSet.usedLifeCycleStateDefinitionGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIFE-CYCLE-STATE-DEFINITION-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LifeCycles::LifeCycleInfoSet -->
   <xsd:complexType abstract="false" mixed="false" name="LIFE-CYCLE-INFO-SET">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to attach a life cycle  information to a particular set of elements.

The information can be defined for a particular period. This supports the definition of transition plans.

If no period is specified, the life cycle state applies forever.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="LifeCycleInfoSets";mmt.qualifiedName="LifeCycleInfoSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:LIFE-CYCLE-INFO-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LifeCycles::LifeCyclePeriod -->
   <xsd:group name="LIFE-CYCLE-PERIOD">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to specify a point of time within a specified period, e.g. the starting or end point, in which a specific life cycle state is valid/applies to.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LifeCyclePeriod"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATE" type="AR:DATE">
            <xsd:annotation>
               <xsd:documentation>Date within period.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCyclePeriod.date";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-RELEASE-VERSION" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the AUTOSAR Release the element referred to is part of.  

The numbering contains three levels (major, minor, revision) which are defined by AUTOSAR.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCyclePeriod.arReleaseVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRODUCT-RELEASE" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the product within the period.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCyclePeriod.productRelease";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LifeCycles::LifeCyclePeriod -->
   <xsd:complexType abstract="false" mixed="false" name="LIFE-CYCLE-PERIOD">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to specify a point of time within a specified period, e.g. the starting or end point, in which a specific life cycle state is valid/applies to.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LifeCyclePeriod"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LIFE-CYCLE-PERIOD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LifeCycles::LifeCycleState -->
   <xsd:group name="LIFE-CYCLE-STATE">
      <xsd:annotation>
         <xsd:documentation>This meta class represents one particular state in the LifeCycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleState"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LifeCycles::LifeCycleState -->
   <xsd:complexType abstract="false" mixed="false" name="LIFE-CYCLE-STATE">
      <xsd:annotation>
         <xsd:documentation>This meta class represents one particular state in the LifeCycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleState"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:LIFE-CYCLE-STATE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIFE-CYCLE-STATE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIFE-CYCLE-STATE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LifeCycles::LifeCycleStateDefinitionGroup -->
   <xsd:group name="LIFE-CYCLE-STATE-DEFINITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to define the states and properties of one particular life cycle.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="LifeCycleStateDefintionGroups";mmt.qualifiedName="LifeCycleStateDefinitionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LC-STATES">
            <xsd:annotation>
               <xsd:documentation>Describes a single life cycle state of this life cycle state definition group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LifeCycleStateDefinitionGroup.lcState";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIFE-CYCLE-STATE" type="AR:LIFE-CYCLE-STATE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LifeCycles::LifeCycleStateDefinitionGroup -->
   <xsd:complexType abstract="false" mixed="false" name="LIFE-CYCLE-STATE-DEFINITION-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to define the states and properties of one particular life cycle.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="LifeCycleStateDefintionGroups";mmt.qualifiedName="LifeCycleStateDefinitionGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIFE-CYCLE-STATE-DEFINITION-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="LIMIT-VALUE">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to express a numerical limit.  Note that this is in fact a NumericalVariationPoint but has the additional attribute intervalType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Limit";xml.xsd.customType="LIMIT-VALUE";xml.xsd.pattern="(0[xX][0-9a-fA-F]+)|(0[0-7]+)|(0[bB][0-1]+)|(([+\-]?[1-9][0-9]+(\.[0-9]+)?|[+\-]?[0-9](\.[0-9]+)?)([eE]([+\-]?)[0-9]+)?)|\.0|INF|-INF|NaN";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:LIMIT-VALUE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:LIMIT-VALUE"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- attribute group for class LIMIT-VALUE -->
   <xsd:attributeGroup name="LIMIT-VALUE">
      <xsd:annotation/>
      <xsd:attribute name="INTERVAL-TYPE" type="AR:INTERVAL-TYPE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies the type of the interval. If the attribute is missing the interval shall be considered as "CLOSED".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Limit.intervalType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="LIMIT-VALUE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(0[xX][0-9a-fA-F]+)|(0[0-7]+)|(0[bB][0-1]+)|(([+\-]?[1-9][0-9]+(\.[0-9]+)?|[+\-]?[0-9](\.[0-9]+)?)([eE]([+\-]?)[0-9]+)?)|\.0|INF|-INF|NaN"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AttributeValueVariationPoints::LimitValueVariationPoint -->
   <xsd:group name="LIMIT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to express a numerical limit.  Note that this is in fact a NumericalValuationPoint but has the additional attribute intervalType.

Note that the xml.name is "LIMIT" for backward compatibility reasons.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LimitValueVariationPoint";xml.name="LIMIT"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class AttributeValueVariationPoints::LimitValueVariationPoint -->
   <xsd:attributeGroup name="LIMIT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to express a numerical limit.  Note that this is in fact a NumericalValuationPoint but has the additional attribute intervalType.

Note that the xml.name is "LIMIT" for backward compatibility reasons.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LimitValueVariationPoint";xml.name="LIMIT"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="INTERVAL-TYPE" type="AR:INTERVAL-TYPE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies the type of the interval. If the attribute is missing the interval shall be considered as "CLOSED".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="LimitValueVariationPoint.intervalType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class AttributeValueVariationPoints::LimitValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="LIMIT">
      <xsd:annotation>
         <xsd:documentation>This class represents the ability to express a numerical limit.  Note that this is in fact a NumericalValuationPoint but has the additional attribute intervalType.

Note that the xml.name is "LIMIT" for backward compatibility reasons.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LimitValueVariationPoint";xml.name="LIMIT"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:ABSTRACT-NUMERICAL-VARIATION-POINT"/>
         <xsd:group ref="AR:LIMIT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
      <xsd:attributeGroup ref="AR:LIMIT"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinCluster -->
   <xsd:group name="LIN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>LIN specific attributes</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="LinCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinCluster.LinClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-CLUSTER-CONDITIONAL" type="AR:LIN-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinCluster -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>LIN specific attributes</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="LinCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:LIN-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinClusterConditional -->
   <xsd:group name="LIN-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:LIN-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:LIN-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinClusterContent -->
   <xsd:group name="LIN-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class LinTopology::LinCommunicationConnector -->
   <xsd:group name="LIN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>LIN bus specific communication connector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-NAD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Initial NAD of the LIN slave.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationConnector.initialNad";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-CONFIGURABLE-FRAMES">
            <xsd:annotation>
               <xsd:documentation>LinConfigurableFrames shall list all frames (unconditional frames, event-triggered frames and sporadic frames) processed by the slave node. This element is necessary for the LIN 2.0 Assign-Frame command.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationConnector.linConfigurableFrame";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-CONFIGURABLE-FRAME" type="AR:LIN-CONFIGURABLE-FRAME"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-ORDERED-CONFIGURABLE-FRAMES">
            <xsd:annotation>
               <xsd:documentation>LinOrderedConfigurableFrames shall list all frames (unconditional frames, event-triggered frames and sporadic frames) processed by the slave node. This element is necessary for the LIN 2.1 Assign-Frame-PID-Range command.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationConnector.linOrderedConfigurableFrame";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-ORDERED-CONFIGURABLE-FRAME" type="AR:LIN-ORDERED-CONFIGURABLE-FRAME"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinCommunicationConnector -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>LIN bus specific communication connector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:LIN-COMMUNICATION-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinCommunicationController -->
   <xsd:group name="LIN-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>LIN bus specific communication controller attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class LinTopology::LinCommunicationControllerContent -->
   <xsd:group name="LIN-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Version specifier for a communication protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinCommunicationController.protocolVersion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class LinTopology::LinConfigurableFrame -->
   <xsd:group name="LIN-CONFIGURABLE-FRAME">
      <xsd:annotation>
         <xsd:documentation>Assignment of messageIds to Frames. 
This element shall be used for the LIN 2.0 Assign-Frame command.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurableFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Frame that is processed by the slave node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurableFrame.frame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-FRAME--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>MessageId for the referenced frame</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurableFrame.messageId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinConfigurableFrame -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-CONFIGURABLE-FRAME">
      <xsd:annotation>
         <xsd:documentation>Assignment of messageIds to Frames. 
This element shall be used for the LIN 2.0 Assign-Frame command.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurableFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LIN-CONFIGURABLE-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::LinConfigurationEntry -->
   <xsd:group name="LIN-CONFIGURATION-ENTRY">
      <xsd:annotation>
         <xsd:documentation>A ScheduleTableEntry which contains LIN specific assignments.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurationEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-CONTROLLER-REF">
            <xsd:annotation>
               <xsd:documentation>The LIN slaves controller who is target of this assignment. 
Optional in case LinConfigurationEntry.assignedLinSlaveConfig exists.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurationEntry.assignedController";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-SLAVE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-LIN-SLAVE-CONFIG-REF">
            <xsd:annotation>
               <xsd:documentation>The LIN slave that is target of this assignment. 

Please note that this reference is redundant to the assignedController reference. In a System Description LIN slaves may be described as non AUTOSAR ECUs (linSlaveEcu reference). But in an Ecu Extract of the LinMaster the LinSlaveEcus will not be available. The information that is described here is necessary in the ECU Extract for the configuration of the LinMaster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinConfigurationEntry.assignedLinSlaveConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-SLAVE-CONFIG-IDENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class LinCommunication::LinErrorResponse -->
   <xsd:group name="LIN-ERROR-RESPONSE">
      <xsd:annotation>
         <xsd:documentation>Each slave node shall publish a one bit signal, named response_error, to the master node in one of its transmitted unconditional frames. The response_error signal shall be set whenever a frame (except for event triggered frame responses) that is transmitted or received by the slave node contains an error in the frame response. The response_error signal shall be cleared when the unconditional frame containing the response_error signal is successfully transmitted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinErrorResponse"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an unconditional frame  that transmits the response error.
The referenced LinFrameTriggering shall contain a reference to an unconditionalFrame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinErrorResponse.frameTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-ERROR-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the position of the ResponseError bit in the frame. Each slave node shall publish one response error in one of its transmitted unconditional frames.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinErrorResponse.responseErrorPosition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::LinErrorResponse -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-ERROR-RESPONSE">
      <xsd:annotation>
         <xsd:documentation>Each slave node shall publish a one bit signal, named response_error, to the master node in one of its transmitted unconditional frames. The response_error signal shall be set whenever a frame (except for event triggered frame responses) that is transmitted or received by the slave node contains an error in the frame response. The response_error signal shall be cleared when the unconditional frame containing the response_error signal is successfully transmitted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinErrorResponse"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LIN-ERROR-RESPONSE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::LinEventTriggeredFrame -->
   <xsd:group name="LIN-EVENT-TRIGGERED-FRAME">
      <xsd:annotation>
         <xsd:documentation>An event triggered frame is used as a placeholder to allow multiple slave nodes to provide its response.

The header of an event triggered frame is transmitted when a frame slot allocated to the event triggered frame is processed. The publisher of an associated unconditional frame shall only transmit the response if at least one of the signals carried in its unconditional frame is updated. The LIN Master discovers and purges collisions with the collisionResolvingScheduleTable. 

The event controlled frame shall not contain any Pdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="LinEventTriggeredFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COLLISION-RESOLVING-SCHEDULE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the schedule table, which resolves a collision.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinEventTriggeredFrame.collisionResolvingSchedule";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-SCHEDULE-TABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-UNCONDITIONAL-FRAME-REFS">
            <xsd:annotation>
               <xsd:documentation>A list of slaves can respond to the master request if at least one of the signals carried in its unconditional frame is updated. 

For each response a LinFrameTriggering and a LinUnconditionalFrame shall be defined. Within a channel a LIN Frame shall be referenced by only one FrameTriggering. This allows a derivation of the identifier of a substituted Frame. The identifier is specified in FrameTriggering element. 

The Unconditional frames associated with an event triggered frame shall:
- have equal length.
- use the same checksum model (i.e. mixing LIN 1.x and LIN 2.x frames is not allowed).
- reserve the first data field to its protected identifier (even if the associated unconditional frame is scheduled as a unconditional frame in the same or another schedule table).
- be published by different slave nodes.
- shall not be included directly in the same schedule table as the event triggered frame is scheduled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinEventTriggeredFrame.linUnconditionalFrame";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-UNCONDITIONAL-FRAME-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:LIN-UNCONDITIONAL-FRAME--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::LinEventTriggeredFrame -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-EVENT-TRIGGERED-FRAME">
      <xsd:annotation>
         <xsd:documentation>An event triggered frame is used as a placeholder to allow multiple slave nodes to provide its response.

The header of an event triggered frame is transmitted when a frame slot allocated to the event triggered frame is processed. The publisher of an associated unconditional frame shall only transmit the response if at least one of the signals carried in its unconditional frame is updated. The LIN Master discovers and purges collisions with the collisionResolvingScheduleTable. 

The event controlled frame shall not contain any Pdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="LinEventTriggeredFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:LIN-FRAME"/>
         <xsd:group ref="AR:LIN-EVENT-TRIGGERED-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::LinFrame -->
   <xsd:group name="LIN-FRAME">
      <xsd:annotation>
         <xsd:documentation>Lin specific Frame element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="LIN-FRAME--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-EVENT-TRIGGERED-FRAME"/>
         <xsd:enumeration value="LIN-FRAME"/>
         <xsd:enumeration value="LIN-SPORADIC-FRAME"/>
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinCommunication::LinFrameTriggering -->
   <xsd:group name="LIN-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>LIN specific attributes to the FrameTriggering</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENTIFIER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>To describe a frames identifier on the communication system, usually with a fixed identifierValue. For LinSporadicFrames the attribute shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinFrameTriggering.identifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-CHECKSUM" type="AR:LIN-CHECKSUM-TYPE">
            <xsd:annotation>
               <xsd:documentation>Type of checksum that the frame is using.
This attribute is optional because in case of sporadic frames it should not be set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinFrameTriggering.linChecksum";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::LinFrameTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-FRAME-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>LIN specific attributes to the FrameTriggering</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinFrameTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:FRAME-TRIGGERING"/>
         <xsd:group ref="AR:LIN-FRAME-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIN-FRAME-TRIGGERING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-FRAME-TRIGGERING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinTopology::LinMaster -->
   <xsd:group name="LIN-MASTER">
      <xsd:annotation>
         <xsd:documentation>Describing the properties of the refering ecu as a LIN master.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-MASTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinMaster.LinMasterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-MASTER-CONDITIONAL" type="AR:LIN-MASTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinMaster -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-MASTER">
      <xsd:annotation>
         <xsd:documentation>Describing the properties of the refering ecu as a LIN master.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:LIN-COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:LIN-MASTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinMasterConditional -->
   <xsd:group name="LIN-MASTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinMasterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinMasterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinMasterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-MASTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinMasterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:LIN-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:LIN-MASTER-CONTENT"/>
         <xsd:group ref="AR:LIN-MASTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinMasterContent -->
   <xsd:group name="LIN-MASTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinMasterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-SLAVES">
            <xsd:annotation>
               <xsd:documentation>LinSlaves that are handled by the LinMaster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinMaster.linSlave";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-SLAVE-CONFIG" type="AR:LIN-SLAVE-CONFIG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BASE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time base is mandatory for the master. It is not used for slaves. 
LIN 2.0 Spec states: "The time_base value specifies the used time base in the master node to generate the maximum allowed frame transfer time." 
The time base shall be specified AUTOSAR conform in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinMaster.timeBase";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-BASE-JITTER" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The attribute timeBaseJitter is a mandatory attribute for the master and not used for slaves. 
LIN 2.0 Spec states: "The jitter value specifies the differences between the maximum and minimum delay from time base start point to the frame header sending start point (falling edge of BREAK signal)." 
The jitter shall be specified AUTOSAR conform in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinMaster.timeBaseJitter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class NetworkManagement::LinNmCluster -->
   <xsd:group name="LIN-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Lin specific NmCluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class NetworkManagement::LinNmCluster -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Lin specific NmCluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-CLUSTER"/>
         <xsd:group ref="AR:LIN-NM-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinOrderedConfigurableFrame -->
   <xsd:group name="LIN-ORDERED-CONFIGURABLE-FRAME">
      <xsd:annotation>
         <xsd:documentation>With the assignment of the index to a frame a mapping of Pids to Frames is possible. This element shall be used for the LIN 2.1 Assign-Frame-PID-Range command.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinOrderedConfigurableFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Frame that is processed by the slave node.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinOrderedConfigurableFrame.frame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-FRAME--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to order the elements and allows an assignment of Pids to
ConfigurableFrames that are defined in the slave.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinOrderedConfigurableFrame.index";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinOrderedConfigurableFrame -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-ORDERED-CONFIGURABLE-FRAME">
      <xsd:annotation>
         <xsd:documentation>With the assignment of the index to a frame a mapping of Pids to Frames is possible. This element shall be used for the LIN 2.1 Assign-Frame-PID-Range command.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinOrderedConfigurableFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LIN-ORDERED-CONFIGURABLE-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinPhysicalChannel -->
   <xsd:group name="LIN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>LIN specific attributes to the physicalChannel</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCHEDULE-TABLES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinPhysicalChannel.scheduleTable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-SCHEDULE-TABLE" type="AR:LIN-SCHEDULE-TABLE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinPhysicalChannel -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>LIN specific attributes to the physicalChannel</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:LIN-PHYSICAL-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::LinScheduleTable -->
   <xsd:group name="LIN-SCHEDULE-TABLE">
      <xsd:annotation>
         <xsd:documentation>The master task (in the master node) transmits frame headers based on a schedule table. The schedule table specifies the identifiers for each header and the interval between the start of a frame and the start of the following frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinScheduleTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESUME-POSITION" type="AR:RESUME-POSITION">
            <xsd:annotation>
               <xsd:documentation>Defines, where a schedule table shall be proceeded in case if it has been interrupted by a run-once table or MRF/SRF.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinScheduleTable.resumePosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUN-MODE" type="AR:RUN-MODE">
            <xsd:annotation>
               <xsd:documentation>The schedule table can be executed in two different modes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinScheduleTable.runMode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TABLE-ENTRYS">
            <xsd:annotation>
               <xsd:documentation>The scheduling table consists of table entries, which contain Frame slots.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinScheduleTable.tableEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-ENTRY" type="AR:APPLICATION-ENTRY"/>
                  <xsd:element name="ASSIGN-FRAME-ID" type="AR:ASSIGN-FRAME-ID"/>
                  <xsd:element name="ASSIGN-FRAME-ID-RANGE" type="AR:ASSIGN-FRAME-ID-RANGE"/>
                  <xsd:element name="ASSIGN-NAD" type="AR:ASSIGN-NAD"/>
                  <xsd:element name="CONDITIONAL-CHANGE-NAD" type="AR:CONDITIONAL-CHANGE-NAD"/>
                  <xsd:element name="DATA-DUMP-ENTRY" type="AR:DATA-DUMP-ENTRY"/>
                  <xsd:element name="FREE-FORMAT" type="AR:FREE-FORMAT"/>
                  <xsd:element name="SAVE-CONFIGURATION-ENTRY" type="AR:SAVE-CONFIGURATION-ENTRY"/>
                  <xsd:element name="UNASSIGN-FRAME-ID" type="AR:UNASSIGN-FRAME-ID"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinScheduleTable.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::LinScheduleTable -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-SCHEDULE-TABLE">
      <xsd:annotation>
         <xsd:documentation>The master task (in the master node) transmits frame headers based on a schedule table. The schedule table specifies the identifiers for each header and the interval between the start of a frame and the start of the following frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinScheduleTable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:LIN-SCHEDULE-TABLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIN-SCHEDULE-TABLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-SCHEDULE-TABLE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinTopology::LinSlave -->
   <xsd:group name="LIN-SLAVE">
      <xsd:annotation>
         <xsd:documentation>Describing the properties of the referring ecu as a LIN slave.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-SLAVE-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave.LinSlaveVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-SLAVE-CONDITIONAL" type="AR:LIN-SLAVE-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinSlave -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-SLAVE">
      <xsd:annotation>
         <xsd:documentation>Describing the properties of the referring ecu as a LIN slave.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:LIN-COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:LIN-SLAVE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIN-SLAVE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-SLAVE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinTopology::LinSlaveConditional -->
   <xsd:group name="LIN-SLAVE-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinSlaveConditional -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-SLAVE-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:LIN-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:LIN-SLAVE-CONTENT"/>
         <xsd:group ref="AR:LIN-SLAVE-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinSlaveConfig -->
   <xsd:group name="LIN-SLAVE-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Node attributes of LIN slaves that are handled by the LinMaster. 

In the System Description LIN slaves may be described as non AUTOSAR ECUs (linSlaveEcu reference). But in an Ecu Extract of the LinMaster the LinSlaveEcus will not be available. The information that is described here is necessary in the ECU Extract for the configuration of the LinMaster. 

The values of attributes of LinSlaveConfig and LinSlave shall be identical for each LinSlaveConfig that points to a LinSlave. Please note that this causes redundancy which is intended to support flexible development methodology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIGURED-NAD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>To distinguish LIN slaves that are used twice or more within the same cluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.configuredNad";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>LIN function ID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.functionId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:LIN-SLAVE-CONFIG-IDENT">
            <xsd:annotation>
               <xsd:documentation>This adds the ability to become referrable to LinSlaveConfig.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-NAD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Initial NAD of the LIN slave.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.initialNad";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-ERROR-RESPONSE" type="AR:LIN-ERROR-RESPONSE">
            <xsd:annotation>
               <xsd:documentation>Each slave node shall publish one response error in one of its transmitted unconditional frames.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.linErrorResponse";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-SLAVE-ECU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the LinSlaveEcu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.linSlaveEcu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-SLAVE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL-VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Version specifier for a communication protocol.
Protocol version of the LinMaster and the LinSlaves may be different.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="LinSlaveConfig.protocolVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPLIER-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>LIN Supplier ID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.supplierId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIANT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the Variant ID.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig.variantId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinTopology::LinSlaveConfig -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-SLAVE-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Node attributes of LIN slaves that are handled by the LinMaster. 

In the System Description LIN slaves may be described as non AUTOSAR ECUs (linSlaveEcu reference). But in an Ecu Extract of the LinMaster the LinSlaveEcus will not be available. The information that is described here is necessary in the ECU Extract for the configuration of the LinMaster. 

The values of attributes of LinSlaveConfig and LinSlave shall be identical for each LinSlaveConfig that points to a LinSlave. Please note that this causes redundancy which is intended to support flexible development methodology.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:LIN-SLAVE-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinTopology::LinSlaveConfigIdent -->
   <xsd:group name="LIN-SLAVE-CONFIG-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable LinSlaveConfig.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfigIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LinTopology::LinSlaveConfigIdent -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-SLAVE-CONFIG-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable LinSlaveConfig.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveConfigIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:LIN-SLAVE-CONFIG-IDENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="LIN-SLAVE-CONFIG-IDENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-SLAVE-CONFIG-IDENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinTopology::LinSlaveContent -->
   <xsd:group name="LIN-SLAVE-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinSlaveContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFIGURED-NAD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>To distinguish LIN slaves that are used twice or more within the same cluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave.configuredNad";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>LIN function ID</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave.functionId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-ERROR-RESPONSE" type="AR:LIN-ERROR-RESPONSE">
            <xsd:annotation>
               <xsd:documentation>Each slave node shall publish one response error in one of its transmitted unconditional frames.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave.linErrorResponse";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPLIER-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>LIN Supplier ID</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave.supplierId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIANT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the Variant ID</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSlave.variantId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class LinCommunication::LinSporadicFrame -->
   <xsd:group name="LIN-SPORADIC-FRAME">
      <xsd:annotation>
         <xsd:documentation>A sporadic frame is a group of unconditional frames that share the same frame slot. The sporadic frame shall not contain any Pdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="LinSporadicFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUBSTITUTED-FRAME-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to a group of unconditional frames that share the same frame slot. In case that more than one of the declared frames needs to be transferred, the one first listed shall be chosen. 

Within a channel a LIN Frame shall be referenced by only one FrameTriggering. This allows a derivation of the identifier of a substituted Frame. The identifier is specified in FrameTriggering element. 

A LinUnconditionalFrame associated with a LinSporadicFrame may not be allocated in the same LinScheduleTable as the sporadic frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinSporadicFrame.substitutedFrame";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUBSTITUTED-FRAME-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:LIN-UNCONDITIONAL-FRAME--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::LinSporadicFrame -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-SPORADIC-FRAME">
      <xsd:annotation>
         <xsd:documentation>A sporadic frame is a group of unconditional frames that share the same frame slot. The sporadic frame shall not contain any Pdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="LinSporadicFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:LIN-FRAME"/>
         <xsd:group ref="AR:LIN-SPORADIC-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::LinTpConfig -->
   <xsd:group name="LIN-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one Lin TP Configuration. 

One LinTpConfig element shall be created for each Lin Network in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="LinTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConfig.tpAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TP-ADDRESS" type="AR:TP-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConfig.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-TP-CONNECTION" type="AR:LIN-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-NODES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConfig.tpNode";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LIN-TP-NODE" type="AR:LIN-TP-NODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::LinTpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one Lin TP Configuration. 

One LinTpConfig element shall be created for each Lin Network in the System.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="LinTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:LIN-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::LinTpConnection -->
   <xsd:group name="LIN-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A LinTP channel represents an internal path for the transmission or reception of a Pdu via LinTp and describes the the sender and the receiver of this particular communication. 

LinTp supports (per Lin Cluster) the configuration of one Rx Tp-SDU and one Tx Tp-SDU per NAD the LinMaster uses to address one or more of its Lin Slaves. To support this an arbitrary number of LinTpConnections shall be described.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an NPdu (Single Frame, First Frame or Consecutive Frame).

The Single Frame network protocol data unit (SF N_PDU) shall be sent out by the sending network entity and can be received by one or multiple receiving network entities.
The Single Frame (SF N_PDU) shall be sent out to transfer a service data unit that can be transferred via a single service request to the data link layer. This network protocol data unit shall be sent to transfer unsegmented messages.

The First Frame network protocol data unit (FF N_PDU) identifies the first network protocol data unit (N_PDU) of a segmented message transmitted by a network sending entity and received by a receiving network entity. 

The Consecutive Frame network protocol data unit (CF N_PDU) transfers segments (N_Data) of the service data unit message data (&lt;MessageData&gt;). All network protocol data units (N_PDUs) transmitted by the sending entity after the First Frame network protocol data unit (FF N_PDU) shall be encoded as Consecutive Frames network protocol data units (CF N_PDUs).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.dataPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DROP-NOT-REQUESTED-NAD" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Configures if TP Frames of not requested LIN-Slaves are dropped or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.dropNotRequestedNad";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLOW-CONTROL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the  Flow Control NPdu.

The Flow Control network protocol data unit (FC N_PDU) is identified by the Flow Control protocol control information (FC N_PCI). The Flow Control network protocol data unit (FC N_PDU) instructs a sending network entity to start, stop or resume transmission of CF N_PDUs. The Flow Control network protocol data unit shall be sent by the receiving network layer entity to the sending network layer entity, when ready to receive more data, after correct reception of:

a) First Frame network protocol data unit (FF N_PDU) 
b) the last Consecutive Frame network protocol data unit (CF N_PDU) of a block of Consecutive Frames (CF N_PDU) if further Consecutive Frame network protocol data unit (CF N_PDU) need(s) to be sent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.flowControl";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIN-TP-N-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the IPdu that is segmented by the Transport Protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.linTpNSdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-REF">
            <xsd:annotation>
               <xsd:documentation>TP address for 1:n connections.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.multicast";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVER-REFS">
            <xsd:annotation>
               <xsd:documentation>The target of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.receiver";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECEIVER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:LIN-TP-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-AS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time for transmission of the LIN frame (any N-PDU) on the sender side. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.timeoutAs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CR" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the timeout value for waiting for a CF or FF-x (in case of retry) after receiving the last CF or after sending an FC or AF on the receiver side. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.timeoutCr";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-CS" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The attribute timeoutCs represents the time (in seconds) which elapses between the transmit request of a CF N-PDU until the transmit request of the next CF N-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.timeoutCs";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMITTER-REF">
            <xsd:annotation>
               <xsd:documentation>The source of the TP connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.transmitter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-TP-NODE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::LinTpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A LinTP channel represents an internal path for the transmission or reception of a Pdu via LinTp and describes the the sender and the receiver of this particular communication. 

LinTp supports (per Lin Cluster) the configuration of one Rx Tp-SDU and one Tx Tp-SDU per NAD the LinMaster uses to address one or more of its Lin Slaves. To support this an arbitrary number of LinTpConnections shall be described.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-CONNECTION"/>
         <xsd:group ref="AR:LIN-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::LinTpNode -->
   <xsd:group name="LIN-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>Asscociation to a CommunicationConnector in the topology description. 

In a System Description this reference is mandatory. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode.connector";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NUMBER-OF-RESP-PENDING-FRAMES" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Configures the maximum number of allowed response pending frames.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode.maxNumberOfRespPendingFrames";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="P-2-MAX" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>After reception of a response pending frame the P2 timeout counter is reloaded with the timeout time P2max.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode.p2Max";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="P-2-TIMING" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>P2 timeout observation parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode.p2Timing";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the TP Address that is used by the TpNode. This reference is optional in case that the multicast TP Address is used (reference from TpConnection).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TP-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::LinTpNode -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-TP-NODE">
      <xsd:annotation>
         <xsd:documentation>TP Node (Sender or Receiver) provides the TP Address and the connection to the Topology description.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinTpNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:LIN-TP-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIN-TP-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-TP-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class LinCommunication::LinUnconditionalFrame -->
   <xsd:group name="LIN-UNCONDITIONAL-FRAME">
      <xsd:annotation>
         <xsd:documentation>Unconditional frames carry signals. The master sends a frame header in a scheduled frame slot and the designated slave node fills the frame with data.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="LinUnconditionalFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LinCommunication::LinUnconditionalFrame -->
   <xsd:complexType abstract="false" mixed="false" name="LIN-UNCONDITIONAL-FRAME">
      <xsd:annotation>
         <xsd:documentation>Unconditional frames carry signals. The master sends a frame header in a scheduled frame slot and the designated slave node fills the frame with data.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="LinUnconditionalFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:LIN-FRAME"/>
         <xsd:group ref="AR:LIN-UNCONDITIONAL-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LIN-UNCONDITIONAL-FRAME--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Implementation::Linker -->
   <xsd:group name="LINKER">
      <xsd:annotation>
         <xsd:documentation>Specifies the linker attributes used to describe how the linker shall be invoked.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Linker"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Linker name.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Linker.name";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPTIONS" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the linker options.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Linker.options";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VENDOR" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Vendor of linker.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Linker.vendor";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Exact version of linker executable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Linker.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Implementation::Linker -->
   <xsd:complexType abstract="false" mixed="false" name="LINKER">
      <xsd:annotation>
         <xsd:documentation>Specifies the linker attributes used to describe how the linker shall be invoked.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Linker"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:LINKER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ListElements::List -->
   <xsd:group name="LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a list. The kind of list is specified in the attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="List"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="ITEM" type="AR:ITEM">
            <xsd:annotation>
               <xsd:documentation>this represents a particular list item. Note that this is again a documentation block.Therefore lists can be arbitrarily nested. It is discouraged to have a very deep nesting.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="List.item";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="List.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class ListElements::List -->
   <xsd:attributeGroup name="LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a list. The kind of list is specified in the attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="List"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="TYPE" type="AR:LIST-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The type of the list. Default is "UNNUMBER"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="List.type";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class ListElements::List -->
   <xsd:complexType abstract="false" mixed="false" name="LIST">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a list. The kind of list is specified in the attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="List"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:LIST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:LIST"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::LogicAddress -->
   <xsd:group name="LOGIC-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>The logical DoIP address. This element shall only be used for DoIP (Diagnosis over IP).</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="LogicAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDRESS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The logical DoIP address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LogicAddress.address";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="LogicAddress.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::LogicAddress -->
   <xsd:complexType abstract="false" mixed="false" name="LOGIC-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>The logical DoIP address. This element shall only be used for DoIP (Diagnosis over IP).</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="LogicAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:LOGIC-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="LOGIC-ADDRESS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LOGIC-ADDRESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::MacMulticastConfiguration -->
   <xsd:group name="MAC-MULTICAST-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>References a per cluster globally defined MAC-Multicast-Group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MacMulticastConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-MULTICAST-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a macMulticastGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MacMulticastConfiguration.macMulticastGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MAC-MULTICAST-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::MacMulticastConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="MAC-MULTICAST-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>References a per cluster globally defined MAC-Multicast-Group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MacMulticastConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NETWORK-ENDPOINT-ADDRESS"/>
         <xsd:group ref="AR:MAC-MULTICAST-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::MacMulticastGroup -->
   <xsd:group name="MAC-MULTICAST-GROUP">
      <xsd:annotation>
         <xsd:documentation>Per EthernetCluster globally defined MacMulticastGroup. One sender can handle many receivers simultaneously if the receivers have all the same macMulticastAddress. The addresses need to be unique for the particular EthernetCluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MacMulticastGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAC-MULTICAST-ADDRESS" type="AR:MAC-ADDRESS-STRING">
            <xsd:annotation>
               <xsd:documentation>A multicast MAC address (Media Access Control address) is a identifier for a group of hosts in a network.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MacMulticastGroup.macMulticastAddress";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::MacMulticastGroup -->
   <xsd:complexType abstract="false" mixed="false" name="MAC-MULTICAST-GROUP">
      <xsd:annotation>
         <xsd:documentation>Per EthernetCluster globally defined MacMulticastGroup. One sender can handle many receivers simultaneously if the receivers have all the same macMulticastAddress. The addresses need to be unique for the particular EthernetCluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MacMulticastGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:MAC-MULTICAST-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MAC-MULTICAST-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MAC-MULTICAST-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Figure::Map -->
   <xsd:group name="MAP">
      <xsd:annotation>
         <xsd:documentation>Image maps enable authors to specify regions of an image or object and assign a specific action to each region (e.g., retrieve a document, run a program, etc.) When the region is activated by the user, the action is executed.

The class follows the html approach and is intended to support interactive documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Map"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="AREA" type="AR:AREA">
            <xsd:annotation>
               <xsd:documentation>This element specifies a region in an image map. Image maps enable authors to specify regions in an object (e.g. a graphic) and to assign a specific activity to each region (e.g. load a document, launch a program etc.).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Map.area";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class Figure::Map -->
   <xsd:attributeGroup name="MAP">
      <xsd:annotation>
         <xsd:documentation>Image maps enable authors to specify regions of an image or object and assign a specific action to each region (e.g., retrieve a document, run a program, etc.) When the region is activated by the user, the action is executed.

The class follows the html approach and is intended to support interactive documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Map"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="CLASS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute assigns a class name or set of class names to an element. Any number of elements may be assigned the same class name or set of class names. Multiple class names must be separated by white space characters. Class names are typically used to apply CSS formatting rules to an element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.class";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="NAME" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute assigns a name to the image map in the MAP element. This name can be used to be referenced in an HTML image through the attribute USEMAP. Although this is not actually necessary in the
MSR model, it was inserted in order to support the MAPs which were created for HTML.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.name";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONCLICK" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONCLICK-Event occurs, if the current element is clicked on. A script can be stored in
this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onclick";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONDBLCLICK" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONDBLCLICK-Event occurs, if the current Event is "double" clicked-on. 
A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.ondblclick";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONKEYDOWN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONKEYDOWN-Event occurs, if a button on the current element is pressed down. 

A script can be stored in this attribute to be performed in the event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onkeydown";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONKEYPRESS" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONKEYPRESS-Event occurs, if a button on the current element is pressed down and released. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onkeypress";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONKEYUP" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONKEYUP-Event occurs, if a button on the current element is released. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onkeyup";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEDOWN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEDOWN-Event occurs, if the mouse button used for clicking is held down on the current element. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onmousedown";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEMOVE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEMOVE-Event occurs, if the mouse pointer is moved on the current 
element (i.e. it is located on the current element). 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onmousemove";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEOUT" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEOUT-Event occurs, if the mouse pointer is moved from the current element.

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onmouseout";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEOVER" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEOVER-Event occurs, if the mouse pointer is moved to the current element
from another location outside it. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onmouseover";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ONMOUSEUP" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The ONMOUSEUP-Event occurs if the mouse button used for clicking is released on the
current element. 

A script can be stored in this attribute to be performed in the Event.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.onmouseup";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="STYLE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies formatting style information for the current element. The content of this attribute is called inline CSS. The style attribute is deprecated (considered outdated), because it fuses together content and formatting.</xsd:documentation>
            <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="Map.style";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="TITLE" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute offers advisory information. Some Web browsers will display this information as tooltips. Authoring tools may make this information available to users as additional information about the element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Map.title";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Figure::Map -->
   <xsd:complexType abstract="false" mixed="false" name="MAP">
      <xsd:annotation>
         <xsd:documentation>Image maps enable authors to specify regions of an image or object and assign a specific action to each region (e.g., retrieve a document, run a program, etc.) When the region is activated by the user, the action is executed.

The class follows the html approach and is intended to support interactive documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Map"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MAP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:MAP"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::MappingConstraint -->
   <xsd:group name="MAPPING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>Different constraints that may be used to limit the mapping of SW components to applicable ECUs, Partitions or Cores depending on the mappingScope attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MappingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the mapping constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MappingConstraint.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MappingConstraint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class MeasurementCalibrationSupport::McDataAccessDetails -->
   <xsd:group name="MC-DATA-ACCESS-DETAILS">
      <xsd:annotation>
         <xsd:documentation>This meta-class allows to attach detailed information about the usage of a data buffer by the RTE to a corresponding McDataInstance.

Use Case:  Direct memory access to RTE internal buffers for rapid prototyping. In case of implicit communication, the various task local buffers need to be identified in relation to RTE events and variable access points.

Note that the SwComponentPrototype, the RunnableEntity and the VariableDataPrototype are implicitly given be the referred instances of RTEEvent and VariableAccess.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McDataAccessDetails"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RTE-EVENT-IREFS">
            <xsd:annotation>
               <xsd:documentation>The RTE event used to receive the data via this buffer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataAccessDetails.rteEvent";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RTE-EVENT-IREF" type="AR:RTE-EVENT-IN-ECU-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-ACCESS-IREFS">
            <xsd:annotation>
               <xsd:documentation>The VariableAccess for which the data buffer is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataAccessDetails.variableAccess";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS-IREF" type="AR:VARIABLE-ACCESS-IN-ECU-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::McDataAccessDetails -->
   <xsd:complexType abstract="false" mixed="false" name="MC-DATA-ACCESS-DETAILS">
      <xsd:annotation>
         <xsd:documentation>This meta-class allows to attach detailed information about the usage of a data buffer by the RTE to a corresponding McDataInstance.

Use Case:  Direct memory access to RTE internal buffers for rapid prototyping. In case of implicit communication, the various task local buffers need to be identified in relation to RTE events and variable access points.

Note that the SwComponentPrototype, the RunnableEntity and the VariableDataPrototype are implicitly given be the referred instances of RTEEvent and VariableAccess.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McDataAccessDetails"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MC-DATA-ACCESS-DETAILS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MeasurementCalibrationSupport::McDataInstance -->
   <xsd:group name="MC-DATA-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Describes the specific properties of one data instance in order to support measurement and/or calibration of this data instance.

The most important attributes are:
* Its shortName is copied from the ECU Flat map (if applicable) and will be used as identifier and for display by the MC system.
* The category is copied from the corresponding data type (ApplicationDataType if defined, otherwise ImplementationDataType) as far as applicable.
* The symbol is the one used in the programming language. It will be used to find out the actual memory address by the final generation tool with the help of linker generated information.

It is assumed that in the M1 model this part and all the aggregated and referred elements (with the exception of the Flat Map and the references from ImplementationElementInParameterInstanceRef and McAccessDetails) are completely generated from "upstream" information. This means, that even if an element like e.g. a CompuMethod is only used via reference here, it will be copied into the M1 artifact which holds the complete McSupportData for a given Implementation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The existence of this attribute turns the data instance into an array of data. The attribute determines the size of the array in terms of number of elements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.arraySize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISPLAY-IDENTIFIER" type="AR:MCD-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>An optional attribute to be used to set the ASAM ASAP2 DISPLAY_IDENTIFIER attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.displayIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLAT-MAP-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the corresponding entry in the ECU Flat Map. This allows to trace back to the original specification of the generated data instance. This link shall be added by the RTE generator mainly for documentation purposes.

The reference is optional because 
* The McDataInstance may represent an array or struct in which only the subElements correspond to FlatMap entries.
* The McDataInstance may represent a task local buffer for rapid prototyping access which is different from the "main instance" used for measurement access.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.flatMapEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLAT-INSTANCE-DESCRIPTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANCE-IN-MEMORY" type="AR:IMPLEMENTATION-ELEMENT-IN-PARAMETER-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the corresponding data instance in the description of calibration data structures published by the RTE generator. This is used to support emulation methods inside the ECU, it is not required for A2L generation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.instanceInMemory";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-ACCESS-DETAILS" type="AR:MC-DATA-ACCESS-DETAILS">
            <xsd:annotation>
               <xsd:documentation>Refers to "upstream" information on how the RTE uses this data instance.
Use Case: Rapid Prototyping</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.mcDataAccessDetails";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-ASSIGNMENTS">
            <xsd:annotation>
               <xsd:documentation>An assignment between McDataInstances.
This supports the indication of related McDataElement implementing the of „RP global buffer", „RP global measurement buffer", „RP enabler flag".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.mcDataAssignment";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-MC-DATA-ASSIGNMENT" type="AR:ROLE-BASED-MC-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESULTING-PROPERTIES" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>These are the generated properties resulting from decisions taken by the RTE  generator for the actually implemented data instance. Only those properties are relevant here, which are needed for the measurement and calibration system.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.resultingProperties";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESULTING-RPT-SW-PROTOTYPING-ACCESS" type="AR:RPT-SW-PROTOTYPING-ACCESS">
            <xsd:annotation>
               <xsd:documentation>Describes the implemented accessibility of data and modes by the rapid prototyping tooling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.resultingRptSwPrototypingAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>An optional attribute to be used for additional information on the role of this data instance, for example in the context of rapid prototyping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.role";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-IMPL-POLICY" type="AR:RPT-IMPL-POLICY">
            <xsd:annotation>
               <xsd:documentation>Describes the implemented code preparation for rapid prototyping at data accesses for a hook based bypassing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.rptImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This relation indicates, that the target element is part of a "struct" which is given by the source element. This information will be used by the final generator to set up the correct addressing scheme.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.subElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-DATA-INSTANCE" type="AR:MC-DATA-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:SYMBOL-STRING">
            <xsd:annotation>
               <xsd:documentation>This String is used to determine the memory address during final generation of the MC configuration data (e.g. "A2L" file) . It shall be the name of the element in the programming language such that it can be identified in linker generated information. 

In case the McDataInstance is part of composite data in the programming language, the symbol String may include parts denoting the element context, unless the context is given by the symbol attribute of an enclosing McDataInstance. This means in particular for the C language that the "." character shall be used as a separator between the name of a "struct" variable the name of one of its elements.

The symbol can differ from the shortName in case of generated C data declarations.

It is an optional attribute since it may be missing in case the instance represents an element (e.g. a single array element) which has no name in the linker map.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::McDataInstance -->
   <xsd:complexType abstract="false" mixed="false" name="MC-DATA-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Describes the specific properties of one data instance in order to support measurement and/or calibration of this data instance.

The most important attributes are:
* Its shortName is copied from the ECU Flat map (if applicable) and will be used as identifier and for display by the MC system.
* The category is copied from the corresponding data type (ApplicationDataType if defined, otherwise ImplementationDataType) as far as applicable.
* The symbol is the one used in the programming language. It will be used to find out the actual memory address by the final generation tool with the help of linker generated information.

It is assumed that in the M1 model this part and all the aggregated and referred elements (with the exception of the Flat Map and the references from ImplementationElementInParameterInstanceRef and McAccessDetails) are completely generated from "upstream" information. This means, that even if an element like e.g. a CompuMethod is only used via reference here, it will be copied into the M1 artifact which holds the complete McSupportData for a given Implementation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McDataInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:MC-DATA-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MC-DATA-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MC-DATA-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class MeasurementCalibrationSupport::McFunction -->
   <xsd:group name="MC-FUNCTION">
      <xsd:annotation>
         <xsd:documentation>Represents a functional element to be used as input to support measurement and calibration. It is used to
* assign calibration parameters to a logical function
* assign measurement variables to a logical function
* structure functions hierarchically</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="McFunctions";mmt.qualifiedName="McFunction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEF-CALPRM-SET" type="AR:MC-FUNCTION-DATA-REF-SET">
            <xsd:annotation>
               <xsd:documentation>Refers to the set of adjustable data (= calibration parameters) defined in this function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="variationPoint.shortLabel";mmt.qualifiedName="McFunction.defCalprmSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REF-CALPRM-SET" type="AR:MC-FUNCTION-DATA-REF-SET">
            <xsd:annotation>
               <xsd:documentation>Refers to the set of adjustable data (= calibration parameters) referred by this function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="variationPoint.shortLabel";mmt.qualifiedName="McFunction.refCalprmSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IN-MEASUREMENT-SET" type="AR:MC-FUNCTION-DATA-REF-SET">
            <xsd:annotation>
               <xsd:documentation>Refers to the set of measurable input data for this function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="variationPoint.shortLabel";mmt.qualifiedName="McFunction.inMeasurementSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OUT-MEASURMENT-SET" type="AR:MC-FUNCTION-DATA-REF-SET">
            <xsd:annotation>
               <xsd:documentation>Due to miss spell was set to obsolete. Please use outMeasurementSet instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="McFunction.outMeasurmentSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOC-MEASUREMENT-SET" type="AR:MC-FUNCTION-DATA-REF-SET">
            <xsd:annotation>
               <xsd:documentation>Refers to the set of measurable local data in this function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="variationPoint.shortLabel";mmt.qualifiedName="McFunction.locMeasurementSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OUT-MEASUREMENT-SET" type="AR:MC-FUNCTION-DATA-REF-SET">
            <xsd:annotation>
               <xsd:documentation>Refers to the set of measurable output data from this function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="variationPoint.shortLabel";mmt.qualifiedName="McFunction.outMeasurementSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-FUNCTION-REFS">
            <xsd:annotation>
               <xsd:documentation>A sub-function that is seen as part of the enclosing function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="subFunction";mmt.qualifiedName="McFunction.subFunction";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUB-FUNCTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MC-FUNCTION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::McFunction -->
   <xsd:complexType abstract="false" mixed="false" name="MC-FUNCTION">
      <xsd:annotation>
         <xsd:documentation>Represents a functional element to be used as input to support measurement and calibration. It is used to
* assign calibration parameters to a logical function
* assign measurement variables to a logical function
* structure functions hierarchically</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="McFunctions";mmt.qualifiedName="McFunction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:MC-FUNCTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MC-FUNCTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MC-FUNCTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RptSupport::McFunctionDataRefSet -->
   <xsd:group name="MC-FUNCTION-DATA-REF-SET">
      <xsd:annotation>
         <xsd:documentation>Refers to a set of data assigned to an McFunction in a particular role. The data are given
* either by entries in a FlatMap
* or by data instances that are part of MC support data.
These two possibilities are exclusive within a given McFunctionDataRefSet. Which one to use depends on the process and tool environment. 

The set is subject to variability because the same functional model may be used with various representation of the data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSet";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-FUNCTION-DATA-REF-SET-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSet.McFunctionDataRefSetVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-FUNCTION-DATA-REF-SET-CONDITIONAL" type="AR:MC-FUNCTION-DATA-REF-SET-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::McFunctionDataRefSet -->
   <xsd:complexType abstract="false" mixed="false" name="MC-FUNCTION-DATA-REF-SET">
      <xsd:annotation>
         <xsd:documentation>Refers to a set of data assigned to an McFunction in a particular role. The data are given
* either by entries in a FlatMap
* or by data instances that are part of MC support data.
These two possibilities are exclusive within a given McFunctionDataRefSet. Which one to use depends on the process and tool environment. 

The set is subject to variability because the same functional model may be used with various representation of the data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSet";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MC-FUNCTION-DATA-REF-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::McFunctionDataRefSetConditional -->
   <xsd:group name="MC-FUNCTION-DATA-REF-SET-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSetConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSetConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::McFunctionDataRefSetConditional -->
   <xsd:complexType abstract="false" mixed="false" name="MC-FUNCTION-DATA-REF-SET-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSetConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MC-FUNCTION-DATA-REF-SET-CONTENT"/>
         <xsd:group ref="AR:MC-FUNCTION-DATA-REF-SET-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::McFunctionDataRefSetContent -->
   <xsd:group name="MC-FUNCTION-DATA-REF-SET-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McFunctionDataRefSetContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLAT-MAP-ENTRY-REFS">
            <xsd:annotation>
               <xsd:documentation>Refers to an entry in a FlatMap that is part of the set, for example a calibration parameter or measured variable.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="flatMapEntry";mmt.qualifiedName="McFunctionDataRefSet.flatMapEntry";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FLAT-MAP-ENTRY-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FLAT-INSTANCE-DESCRIPTOR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>Refers to a data instance within MC support data that is part of the set, i.e. a calibration parameter or measured variable.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="mcDataInstance";mmt.qualifiedName="McFunctionDataRefSet.mcDataInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-DATA-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MC-DATA-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class MeasurementCalibrationSupport::McParameterElementGroup -->
   <xsd:group name="MC-PARAMETER-ELEMENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>Denotes a group of calibration parameters which are handled by the RTE as one data structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McParameterElementGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Assigns a name to this element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McParameterElementGroup.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RAM-LOCATION-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to the RAM location of this parameter group. To be used for the init-RAM method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McParameterElementGroup.ramLocation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROM-LOCATION-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to the ROM location of this parameter group. To be used for the init-RAM method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McParameterElementGroup.romLocation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::McParameterElementGroup -->
   <xsd:complexType abstract="false" mixed="false" name="MC-PARAMETER-ELEMENT-GROUP">
      <xsd:annotation>
         <xsd:documentation>Denotes a group of calibration parameters which are handled by the RTE as one data structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McParameterElementGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MC-PARAMETER-ELEMENT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MeasurementCalibrationSupport::McSupportData -->
   <xsd:group name="MC-SUPPORT-DATA">
      <xsd:annotation>
         <xsd:documentation>Root element for all measurement and calibration support data related to one Implementation artifact on an ECU. There shall be one such element related to the RTE implementation (if it owns MC data) and a separate one for each module or component, which owns private MC data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McSupportData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EMULATION-SUPPORTS">
            <xsd:annotation>
               <xsd:documentation>Describes the calibration method used by the RTE. This information is not needed for A2L generation, but to setup software emulation in the ECU.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSupportData.emulationSupport";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-SW-EMULATION-METHOD-SUPPORT" type="AR:MC-SW-EMULATION-METHOD-SUPPORT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-PARAMETER-INSTANCES">
            <xsd:annotation>
               <xsd:documentation>A data instance to be used for calibration.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="McSupportData.mcParameterInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-DATA-INSTANCE" type="AR:MC-DATA-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-VARIABLE-INSTANCES">
            <xsd:annotation>
               <xsd:documentation>A data instance to be used for measurement.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="McSupportData.mcVariableInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-DATA-INSTANCE" type="AR:MC-DATA-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEASURABLE-SYSTEM-CONSTANT-VALUES-REFS">
            <xsd:annotation>
               <xsd:documentation>Sets of system constant values to be transferred to the MCD system, because the system constants have been specified with 
"swCalibrationAccess" = readonly.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSupportData.measurableSystemConstantValues";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEASURABLE-SYSTEM-CONSTANT-VALUES-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SW-SYSTEMCONSTANT-VALUE-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SUPPORT-DATA" type="AR:RPT-SUPPORT-DATA">
            <xsd:annotation>
               <xsd:documentation>The rapid prototyping support data belonging to this implementation. The aggregtion is &lt;&lt;atpSplitable&gt;&gt; because in case of an already exisiting BSW Implementation model, this description will be added later in the process, namely at code generation time.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="rptSupportData";mmt.qualifiedName="McSupportData.rptSupportData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::McSupportData -->
   <xsd:complexType abstract="false" mixed="false" name="MC-SUPPORT-DATA">
      <xsd:annotation>
         <xsd:documentation>Root element for all measurement and calibration support data related to one Implementation artifact on an ECU. There shall be one such element related to the RTE implementation (if it owns MC data) and a separate one for each module or component, which owns private MC data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McSupportData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MC-SUPPORT-DATA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MeasurementCalibrationSupport::McSwEmulationMethodSupport -->
   <xsd:group name="MC-SW-EMULATION-METHOD-SUPPORT">
      <xsd:annotation>
         <xsd:documentation>This denotes the method used by the RTE to handle the calibration data. It is published by the RTE generator and can be used e.g. to generate the corresponding emulation method in a Complex Driver.

According to the actual method given by the category attribute,  not all attributes are always needed:

* double pointered method: only baseReference is mandatory
* single pointered method: only referenceTable is mandatory
* initRam method: only elementGroup(s) are mandatory

Note: For single/double pointered method the group locations are implicitly accessed via the reference table and their location can be found from the initial values in the M1 model of the respective pointers. Therefore, the description of elementGroups is not needed in these cases.  Likewise, for double pointered method the reference table description can be accessed via the M1 model under baseReference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Assigns a name to this element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Identifies the actual method. The possible names shall correspond to the symbols of the ECU configuration parameter for the calibration method of the RTE, and can include vendor specific methods.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="-90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-REFERENCE-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to the base pointer in case of the double-pointered method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport.baseReference";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ELEMENT-GROUPS">
            <xsd:annotation>
               <xsd:documentation>Denotes the grouping of calibration parameters in the actual RTE code. Depending on the category, this information maybe required to set up the emulation code.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport.elementGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-PARAMETER-ELEMENT-GROUP" type="AR:MC-PARAMETER-ELEMENT-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCE-TABLE-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to the pointer table in case of the single-pointered method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport.referenceTable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::McSwEmulationMethodSupport -->
   <xsd:complexType abstract="false" mixed="false" name="MC-SW-EMULATION-METHOD-SUPPORT">
      <xsd:annotation>
         <xsd:documentation>This denotes the method used by the RTE to handle the calibration data. It is published by the RTE generator and can be used e.g. to generate the corresponding emulation method in a Complex Driver.

According to the actual method given by the category attribute,  not all attributes are always needed:

* double pointered method: only baseReference is mandatory
* single pointered method: only referenceTable is mandatory
* initRam method: only elementGroup(s) are mandatory

Note: For single/double pointered method the group locations are implicitly accessed via the reference table and their location can be found from the initial values in the M1 model of the respective pointers. Therefore, the description of elementGroups is not needed in these cases.  Likewise, for double pointered method the reference table description can be accessed via the M1 model under baseReference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McSwEmulationMethodSupport"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MC-SW-EMULATION-METHOD-SUPPORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ExecutionTime::MeasuredExecutionTime -->
   <xsd:group name="MEASURED-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Specifies the ExecutionTime which has been gathered using measurement means.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum measured execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredExecutionTime.maximumExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum measured execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredExecutionTime.minimumExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NOMINAL-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The nominal measured execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredExecutionTime.nominalExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionTime::MeasuredExecutionTime -->
   <xsd:complexType abstract="false" mixed="false" name="MEASURED-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Specifies the ExecutionTime which has been gathered using measurement means.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTION-TIME"/>
         <xsd:group ref="AR:MEASURED-EXECUTION-TIME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class HeapUsage::MeasuredHeapUsage -->
   <xsd:group name="MEASURED-HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>The heap usage has been measured.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredHeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AVERAGE-MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The average heap usage measured. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredHeapUsage.averageMemoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum heap usage measured. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredHeapUsage.maximumMemoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The minimum heap usage measured. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredHeapUsage.minimumMemoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-PATTERN" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Description of the test pattern used to acquire the measured values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredHeapUsage.testPattern";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class HeapUsage::MeasuredHeapUsage -->
   <xsd:complexType abstract="false" mixed="false" name="MEASURED-HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>The heap usage has been measured.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredHeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HEAP-USAGE"/>
         <xsd:group ref="AR:MEASURED-HEAP-USAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class StackUsage::MeasuredStackUsage -->
   <xsd:group name="MEASURED-STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>The stack usage has been measured.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredStackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AVERAGE-MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The average stack usage measured. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredStackUsage.averageMemoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum stack usage measured. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredStackUsage.maximumMemoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The minimum stack usage measured. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredStackUsage.minimumMemoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-PATTERN" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Description of the test pattern used to acquire the measured values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredStackUsage.testPattern";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class StackUsage::MeasuredStackUsage -->
   <xsd:complexType abstract="false" mixed="false" name="MEASURED-STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>The stack usage has been measured.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MeasuredStackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:STACK-USAGE"/>
         <xsd:group ref="AR:MEASURED-STACK-USAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemorySectionUsage::MemorySection -->
   <xsd:group name="MEMORY-SECTION">
      <xsd:annotation>
         <xsd:documentation>Provides a description of an abstract memory section used in the Implementation for code or data. It shall be declared by the Implementation Description of the module or component, which actually allocates the memory in its code. This means in case of data prototypes which are allocated by the RTE, that the generated Implementation Description of the RTE shall contain the corresponding MemorySections.

The attribute "symbol" (if symbol is missing: "shortName") defines the module or component specific section name used in the code. For details see the document "Specification of Memory Mapping".
Typically the section name is build according the pattern:

&lt;SwAddrMethod shortName&gt;[_&lt;further specialization nominator&gt;][_&lt;alignment&gt;] 
where
* '''[&lt;SwAddrMethod shortName&gt;]''' is the shortName of the referenced SwAddrMethod
* '''[_&lt;further specialization nominator&gt;]''' is an optional infix to indicate the specialization in the case that several MemorySections for different purpose of the same Implementation Description referring to the same or equally named SwAddrMethods. 
* '''[_&lt;alignment&gt;]''' is the alignment attributes value and is only applicable in the case that the memoryAllocationKeywordPolicy value of the referenced SwAddrMethod is set to addrMethodShortNameAndAlignment 

MemorySection used to Implement the code of RunnableEntitys and BswSchedulableEntitys shall have a symbol (if missing: shortName) identical to the referred SwAddrMethod to conform to the generated RTE header files.   

In addition to the section name described above, a prefix is used in the corresponding macro code in order to define a name space. This prefix is by default given by the shortName of the BswModuleDescription resp. the SwComponentType. It can be superseded by  the prefix attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIGNMENT" type="AR:ALIGNMENT-TYPE">
            <xsd:annotation>
               <xsd:documentation>The attribute describes the alignment of objects within this memory section.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.alignment";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTABLE-ENTITY-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the ExecutableEntitites located in this section. This allows to locate different ExecutableEntitities in different sections even if the associated SwAddrmethod is the same.

This is applicable to code sections only.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.executableEntity";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXECUTABLE-ENTITY-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:EXECUTABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEM-CLASS-SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Defines a specific  symbol in order to generate the compiler abstraction  "memclass" code for this MemorySection. The existence of this attribute supersedes the usage of swAddrmethod.shortName for this purpose. 

The complete name of the  "memclass" preprocessor symbol is constructed as &lt;prefix&gt;_&lt;memClassSymbol&gt; where prefix is defined in the same way as for the enclosing MemorySection. See also AUTOSAR_SWS_CompilerAbstraction SWS_COMPILER_00040.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.memClassSymbol";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPTIONS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="OPTION" type="AR:IDENTIFIER">
                     <xsd:annotation>
                        <xsd:documentation>This attribute introduces the ability to specify further intended properties of this MemorySection.
The following two values are standardized (to be used for code sections only and exclusively to each other):

* INLINE - The code section is declared with the compiler abstraction macro INLINE.

* LOCAL_INLINE  - The code section is declared with the compiler abstraction macro LOCAL_INLINE

In both cases (INLINE and LOCAL_INLINE) the inline expansion depends on the compiler specific implementation of these macros. Depending on this, the code section either corresponds to an actual section in memory or is put into the section of the caller. See AUTOSAR_SWS_CompilerAbstraction for more details.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.option";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PREFIX-REF">
            <xsd:annotation>
               <xsd:documentation>The prefix used to set the memory section's namespace in the code. The existence of a prefix element supersedes rules for a default prefix (such as the BswModuleDescription's shortName). This allows the user to define several name spaces for memory sections within the scope of one module, cluster or SWC.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.prefix";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SECTION-NAME-PREFIX--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size in bytes of the section.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.size";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ADDRMETHOD-REF">
            <xsd:annotation>
               <xsd:documentation>This association indicates that this module specific (abstract) memory section is part of an overall SwAddrMethod, referred by the upstream declarations (e.g. calibration parameters, data element prototypes, code entities) which share a common addressing strategy. This can be evaluated for the ECU configuration of the build support. 

This association shall always be declared by the Implementation description of the module or component, which allocates the memory in its code. This means in case of data prototypes which are allocated by the RTE, that the software components only declare the grouping of its data prototypes to SwAddrMethods, and the generated Implementation Description of the RTE actually sets up this association.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.swAddrmethod";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-ADDR-METHOD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Defines the section name as explained in the main description. By using this attribute for code generation (instead of the shortName) it is possible to define several different MemorySections having the same name - e.g. symbol = CODE - but using different sectionNamePrefixes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemorySectionUsage::MemorySection -->
   <xsd:complexType abstract="false" mixed="false" name="MEMORY-SECTION">
      <xsd:annotation>
         <xsd:documentation>Provides a description of an abstract memory section used in the Implementation for code or data. It shall be declared by the Implementation Description of the module or component, which actually allocates the memory in its code. This means in case of data prototypes which are allocated by the RTE, that the generated Implementation Description of the RTE shall contain the corresponding MemorySections.

The attribute "symbol" (if symbol is missing: "shortName") defines the module or component specific section name used in the code. For details see the document "Specification of Memory Mapping".
Typically the section name is build according the pattern:

&lt;SwAddrMethod shortName&gt;[_&lt;further specialization nominator&gt;][_&lt;alignment&gt;] 
where
* '''[&lt;SwAddrMethod shortName&gt;]''' is the shortName of the referenced SwAddrMethod
* '''[_&lt;further specialization nominator&gt;]''' is an optional infix to indicate the specialization in the case that several MemorySections for different purpose of the same Implementation Description referring to the same or equally named SwAddrMethods. 
* '''[_&lt;alignment&gt;]''' is the alignment attributes value and is only applicable in the case that the memoryAllocationKeywordPolicy value of the referenced SwAddrMethod is set to addrMethodShortNameAndAlignment 

MemorySection used to Implement the code of RunnableEntitys and BswSchedulableEntitys shall have a symbol (if missing: shortName) identical to the referred SwAddrMethod to conform to the generated RTE header files.   

In addition to the section name described above, a prefix is used in the corresponding macro code in order to define a name space. This prefix is by default given by the shortName of the BswModuleDescription resp. the SwComponentType. It can be superseded by  the prefix attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MemorySection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:MEMORY-SECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MEMORY-SECTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MEMORY-SECTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ExecutionTime::MemorySectionLocation -->
   <xsd:group name="MEMORY-SECTION-LOCATION">
      <xsd:annotation>
         <xsd:documentation>Specifies in which hardware ProvidedMemorySegment the softwareMemorySection is located.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MemorySectionLocation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-MEMORY-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the hardware ProvidedMemorySegment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySectionLocation.providedMemory";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOFTWARE-MEMORY-SECTION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the MemorySection which is mapped on a certain hardware memory segment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MemorySectionLocation.softwareMemorySection";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MEMORY-SECTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionTime::MemorySectionLocation -->
   <xsd:complexType abstract="false" mixed="false" name="MEMORY-SECTION-LOCATION">
      <xsd:annotation>
         <xsd:documentation>Specifies in which hardware ProvidedMemorySegment the softwareMemorySection is located.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MemorySectionLocation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MEMORY-SECTION-LOCATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextModel::MixedContentForLongName -->
   <xsd:group name="MIXED-CONTENT-FOR-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>This is the model for titles and long-names. It allows some emphasis and index entries but no reference target (which is provided by the identifiable in question). It is intended that the content model can also be rendered as plain text.

The abstract class can be used for single language as well as for multi language elements.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="TT" type="AR:TT">
               <xsd:annotation>
                  <xsd:documentation>This is a technical term.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForLongName.tt";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="E" type="AR:EMPHASIS-TEXT">
               <xsd:annotation>
                  <xsd:documentation>This is emphasized text</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForLongName.e";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUP" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is superscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForLongName.sup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUB" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is subscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForLongName.sub";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="IE" type="AR:INDEX-ENTRY">
               <xsd:annotation>
                  <xsd:documentation>This is an index entry.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForLongName.ie";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="70"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class InlineTextModel::MixedContentForOverviewParagraph -->
   <xsd:group name="MIXED-CONTENT-FOR-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the text model of a restricted paragraph item within a documentation. Such restricted paragraphs are used mainly for overview items, e.g. desc.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="BR" type="AR:BR">
               <xsd:annotation>
                  <xsd:documentation>This element is the same as function here as in a HTML document i.e. it forces a line break.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.br";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="FT" type="AR:SL-OVERVIEW-PARAGRAPH">
               <xsd:annotation>
                  <xsd:documentation>This is a foot note within a paragraph.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.ft";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="TRACE-REF">
               <xsd:annotation>
                  <xsd:documentation>This allows to place an arbitrary reference to a traceable object in documentation.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.trace";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TRACEABLE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="TT" type="AR:TT">
               <xsd:annotation>
                  <xsd:documentation>This is a technical term.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.tt";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XREF" type="AR:XREF">
               <xsd:annotation>
                  <xsd:documentation>This is a cross reference.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.xref";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XREF-TARGET" type="AR:XREF-TARGET">
               <xsd:annotation>
                  <xsd:documentation>This element specifies a reference target which can be scattered throughout the text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.xrefTarget";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="E" type="AR:EMPHASIS-TEXT">
               <xsd:annotation>
                  <xsd:documentation>This is emphasis text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.e";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUP" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is subscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.sup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="80"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUB" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is superscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.sub";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="90"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="IE" type="AR:INDEX-ENTRY">
               <xsd:annotation>
                  <xsd:documentation>This is an index entry.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForOverviewParagraph.ie";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="100"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class InlineTextModel::MixedContentForParagraph -->
   <xsd:group name="MIXED-CONTENT-FOR-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This mainly represents the text model of a full blown paragraph within a documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="FT" type="AR:SL-PARAGRAPH">
               <xsd:annotation>
                  <xsd:documentation>This is a foot note within a paragraph.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.ft";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="TRACE-REF">
               <xsd:annotation>
                  <xsd:documentation>This allows to place an arbitrary reference to a traceable object in documentation.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.trace";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TRACEABLE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="TT" type="AR:TT">
               <xsd:annotation>
                  <xsd:documentation>This is a technical term.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.tt";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="BR" type="AR:BR">
               <xsd:annotation>
                  <xsd:documentation>This element is the same as function here as in a HTML document i.e. it forces a line break.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.br";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XREF" type="AR:XREF">
               <xsd:annotation>
                  <xsd:documentation>This is a cross reference.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.xref";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XREF-TARGET" type="AR:XREF-TARGET">
               <xsd:annotation>
                  <xsd:documentation>This element specifies a reference target which can be scattered throughout the text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.xrefTarget";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="E" type="AR:EMPHASIS-TEXT">
               <xsd:annotation>
                  <xsd:documentation>This is emphasized text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.e";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="70"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUP" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is superscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.sup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="90"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUB" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is subscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.sub";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="100"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="IE" type="AR:INDEX-ENTRY">
               <xsd:annotation>
                  <xsd:documentation>This is an index entry.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.ie";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="110"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="STD" type="AR:STD">
               <xsd:annotation>
                  <xsd:documentation>This is a refeernce to a standard.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.std";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="120"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XDOC" type="AR:XDOC">
               <xsd:annotation>
                  <xsd:documentation>This is a reference to a printable external document.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.xdoc";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="130"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XFILE" type="AR:XFILE">
               <xsd:annotation>
                  <xsd:documentation>This represents a reference to an external file which usually cannot be printed.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForParagraph.xfile";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="140"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class InlineTextModel::MixedContentForPlainText -->
   <xsd:group name="MIXED-CONTENT-FOR-PLAIN-TEXT">
      <xsd:annotation>
         <xsd:documentation>This represents a plain text which conceptually is handled as mixed contents. It is modeled as such for symmetry reasons.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForPlainText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class InlineTextModel::MixedContentForUnitNames -->
   <xsd:group name="MIXED-CONTENT-FOR-UNIT-NAMES">
      <xsd:annotation>
         <xsd:documentation>This is the text model for items with subscript and superscripts such as measurement unit designations. It is intended, that such models can easily be transcribed to a plain text model either by using appropriate characters or by transcribing like m^2.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForUnitNames"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="SUP" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is superscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForUnitNames.sup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SUB" type="AR:SUPSCRIPT">
               <xsd:annotation>
                  <xsd:documentation>This is subscript text.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForUnitNames.sub";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class InlineTextModel::MixedContentForVerbatim -->
   <xsd:group name="MIXED-CONTENT-FOR-VERBATIM">
      <xsd:annotation>
         <xsd:documentation>This is the text model for preformatted (verbatim) text. It mainly consists of attributes which do not change the length on rendering.

This class represents multilingual verbatim. Verbatim, sometimes called preformatted text, means that white-space is maintained. When verbatim is rendered in PDF or Online media, it is rendered using a monospaced font while white-space is obeyed. Blanks are rendered as well as newline characters.

Even if there are inline elements, the length of the data must not be influenced by formatting.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForVerbatim"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="TT" type="AR:TT">
               <xsd:annotation>
                  <xsd:documentation>This represents a technical term in verbatim. Note that it's the responibility of the user not to take a tt that would add additional character to the text (such as SgmlElement).</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForVerbatim.tt";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="E" type="AR:EMPHASIS-TEXT">
               <xsd:annotation>
                  <xsd:documentation>This is emphsized text. Note that in verbatim, the attribute font should not be considered since verbatim is always rendered as monospace font.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForVerbatim.e";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="XREF" type="AR:XREF">
               <xsd:annotation>
                  <xsd:documentation>This is a crossreference within a verbatim text. The attributes may disturb the arrangement of the text. It is subject to the author to keep this under control.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForVerbatim.xref";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="BR" type="AR:BR">
               <xsd:annotation>
                  <xsd:documentation>This element is the same as function here as in a HTML document i.e. it forces a line break.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="MixedContentForVerbatim.br";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class Figure::MlFigure -->
   <xsd:group name="ML-FIGURE">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to embed a figure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIGURE-CAPTION" type="AR:CAPTION">
            <xsd:annotation>
               <xsd:documentation>This element specifies the title of an illustration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure.figureCaption";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset=""</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="L-GRAPHIC" type="AR:L-GRAPHIC"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERBATIM" type="AR:MULTI-LANGUAGE-VERBATIM">
            <xsd:annotation>
               <xsd:documentation>&lt;verbatim&gt; is a paragraph in which white-space (in particular blanks and line feeds) is obeyed. This enables basic preformatting to be carried out, which can even be displayed on simple devices. Behavior is the same as PRE in HTML .</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure.verbatim";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class Figure::MlFigure -->
   <xsd:attributeGroup name="ML-FIGURE">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to embed a figure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="FRAME" type="AR:FRAME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Used to defined the frame line around a figure. It can assume the following values:

* TOP - Border at the top of the figure
* BOTTOM - Border at the bottom of the figure
* TOPBOT - Borders at the top and bottom of  the figure
* ALL - Borders all around the figure
* SIDES - Borders at the sides of the figure
* NONE - No borders around the figure</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure.frame";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="PGWIDE" type="AR:PGWIDE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Used to indicate wether the figure should take the complete page width (value = "pgwide") or not (value = "noPgwide").</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure.pgwide";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Figure::MlFigure -->
   <xsd:complexType abstract="false" mixed="false" name="ML-FIGURE">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to embed a figure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MlFigure"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:ML-FIGURE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:ML-FIGURE"/>
   </xsd:complexType>
   <!-- element group for class Formula::MlFormula -->
   <xsd:group name="ML-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a formula in a documentation. The formula can be expressed by various means. If more than one representation is available, they need to be consistent. The rendering system can use the representation which is most appropriate.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FORMULA-CAPTION" type="AR:CAPTION">
            <xsd:annotation>
               <xsd:documentation>This element specifies the identification or heading of a formula.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula.formulaCaption";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="L-GRAPHIC" type="AR:L-GRAPHIC"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERBATIM" type="AR:MULTI-LANGUAGE-VERBATIM">
            <xsd:annotation>
               <xsd:documentation>this represents a formula using only text and white-space. It can be used to denote the formula in a kind of pseudo code or whatever appears approprate.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula.verbatim";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEX-MATH" type="AR:MULTI-LANGUAGE-PLAIN-TEXT">
            <xsd:annotation>
               <xsd:documentation>this is the TeX representation of TeX formula. A TeX formula can be processed by a TeX or a LaTeX processor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula.texMath";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GENERIC-MATH" type="AR:MULTI-LANGUAGE-PLAIN-TEXT">
            <xsd:annotation>
               <xsd:documentation>this rpresents the semantic and mathematical descriptions which are processed by a math-processor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula.genericMath";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Formula::MlFormula -->
   <xsd:complexType abstract="false" mixed="false" name="ML-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a formula in a documentation. The formula can be expressed by various means. If more than one representation is available, they need to be consistent. The rendering system can use the representation which is most appropriate.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MlFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:ML-FORMULA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclarationGroup::ModeAccessPoint -->
   <xsd:group name="MODE-ACCESS-POINT">
      <xsd:annotation>
         <xsd:documentation>A ModeAccessPoint is required by a RunnableEntity owned by a Mode Manager or Mode User.
Its semantics implies the ability to access the current mode (provided by the RTE)  of a ModeDeclarationGroupPrototype's ModeDeclarationGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeAccessPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:MODE-ACCESS-POINT-IDENT">
            <xsd:annotation>
               <xsd:documentation>The aggregation in the role ident provides the ability to make the ModeAccessPoint identifiable.

From the semantical point of view, the ModeAccessPoint is considered a first-class Identifiable and therefore the aggregation in the role ident shall always exist (until it may be possible to let ModeAccessPoint directly inherit from Identifiable).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="ModeAccessPoint.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-IREF">
            <xsd:annotation>
               <xsd:documentation>The mode declaration group that is accessed by this runnable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeAccessPoint.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.typeElement="true"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF" type="AR:P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF"/>
                  <xsd:element name="R-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF" type="AR:R-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeAccessPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclarationGroup::ModeAccessPoint -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-ACCESS-POINT">
      <xsd:annotation>
         <xsd:documentation>A ModeAccessPoint is required by a RunnableEntity owned by a Mode Manager or Mode User.
Its semantics implies the ability to access the current mode (provided by the RTE)  of a ModeDeclarationGroupPrototype's ModeDeclarationGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeAccessPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-ACCESS-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::ModeAccessPointIdent -->
   <xsd:group name="MODE-ACCESS-POINT-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class has been created to introduce the ability to become referenced into the meta-class ModeAccessPoint without breaking backwards compatibility.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeAccessPointIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RPTScenario::ModeAccessPointIdent -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-ACCESS-POINT-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class has been created to introduce the ability to become referenced into the meta-class ModeAccessPoint without breaking backwards compatibility.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeAccessPointIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:IDENT-CAPTION"/>
         <xsd:group ref="AR:MODE-ACCESS-POINT-IDENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclaration::ModeDeclaration -->
   <xsd:group name="MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>Declaration of one Mode. The name and semantics of a specific mode is not defined in the meta-model.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The RTE shall take the value of this attribute for generating the source code representation of this ModeDeclaration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclaration.value";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclaration.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeDeclaration -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>Declaration of one Mode. The name and semantics of a specific mode is not defined in the meta-model.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:MODE-DECLARATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MODE-DECLARATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-DECLARATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ModeDeclaration::ModeDeclarationGroup -->
   <xsd:group name="MODE-DECLARATION-GROUP">
      <xsd:annotation>
         <xsd:documentation>A collection of Mode Declarations. Also, the initial mode is explicitly identified.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ModeDeclarationGroups";mmt.qualifiedName="ModeDeclarationGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-MODE-REF">
            <xsd:annotation>
               <xsd:documentation>The initial mode of the ModeDeclarationGroup. This mode is active before any mode switches occurred.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroup.initialMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATIONS">
            <xsd:annotation>
               <xsd:documentation>The ModeDeclarations collected in this ModeDeclarationGroup.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroup.modeDeclaration";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION" type="AR:MODE-DECLARATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-MANAGER-ERROR-BEHAVIOR" type="AR:MODE-ERROR-BEHAVIOR">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to define the error behavior expected by the mode manager in case of errors on the mode user side (e.g. terminated mode user).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroup.modeManagerErrorBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-TRANSITIONS">
            <xsd:annotation>
               <xsd:documentation>This represents the avaliable ModeTransitions of the ModeDeclarationGroup</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroup.modeTransition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-TRANSITION" type="AR:MODE-TRANSITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-USER-ERROR-BEHAVIOR" type="AR:MODE-ERROR-BEHAVIOR">
            <xsd:annotation>
               <xsd:documentation>This represents the definition of the error behavior expected by the mode user in case of errors on the mode manager side (e.g. terminated mode manager).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroup.modeUserErrorBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ON-TRANSITION-VALUE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The value of this attribute shall be taken into account by the RTE generator for programmatically representing a value used for the transition between two statuses.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroup.onTransitionValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeDeclarationGroup -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION-GROUP">
      <xsd:annotation>
         <xsd:documentation>A collection of Mode Declarations. Also, the initial mode is explicitly identified.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ModeDeclarationGroups";mmt.qualifiedName="ModeDeclarationGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:MODE-DECLARATION-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MODE-DECLARATION-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ModeDeclaration::ModeDeclarationGroupPrototype -->
   <xsd:group name="MODE-DECLARATION-GROUP-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>The ModeDeclarationGroupPrototype specifies a set of Modes (ModeDeclarationGroup) which is provided or required in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-CALIBRATION-ACCESS" type="AR:SW-CALIBRATION-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This allows for specifying whether or not the enclosing ModeDeclarationGroupPrototype can be measured at run-time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype.swCalibrationAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-TREF">
            <xsd:annotation>
               <xsd:documentation>The "collection of ModeDeclarations" ( = ModeDeclarationGroup) supported by a component</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype.type";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeDeclarationGroupPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION-GROUP-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>The ModeDeclarationGroupPrototype specifies a set of Modes (ModeDeclarationGroup) which is provided or required in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:MODE-DECLARATION-GROUP-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-DECLARATION-GROUP-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ModeDeclaration::ModeDeclarationGroupPrototypeMapping -->
   <xsd:group name="MODE-DECLARATION-GROUP-PROTOTYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular ModeDeclarationGroupPrototypes (in the given context) that are unequally named and/or require a reference to a ModeDeclarationMappingSet in order to become compatible by definition of ModeDeclarationMappings.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>ModeDeclarationGroupPrototype to be mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototypeMapping.firstModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-MAPPING-SET-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the available mappings of ModeDeclarations in the context ot this ModeDeclarationGroupPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototypeMapping.modeDeclarationMappingSet";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>ModeDeclarationGroupPrototype to be mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototypeMapping.secondModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeDeclarationGroupPrototypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION-GROUP-PROTOTYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular ModeDeclarationGroupPrototypes (in the given context) that are unequally named and/or require a reference to a ModeDeclarationMappingSet in order to become compatible by definition of ModeDeclarationMappings.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-DECLARATION-GROUP-PROTOTYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclaration::ModeDeclarationGroupPrototypeRefConditional -->
   <xsd:group name="MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-GROUP-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototypeRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeDeclarationGroupPrototypeRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationGroupPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-DECLARATION-GROUP-PROTOTYPE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ModeDeclarationMapping -->
   <xsd:group name="MODE-DECLARATION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class implements a concrete mapping of two ModeDeclarations.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-MODE-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the first ModeDeclaration of the ModeDeclarationMapping. This reference has the multiplicity 1 .. * to support use cases where e.g. one mode of the mode user is mapped to several modes of the mode manager.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationMapping.firstMode";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FIRST-MODE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-MODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the second ModeDeclaration of the ModeDeclarationMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationMapping.secondMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ModeDeclarationMapping -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class implements a concrete mapping of two ModeDeclarations.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:MODE-DECLARATION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ModeDeclarationMappingSet -->
   <xsd:group name="MODE-DECLARATION-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class implements a container for ModeDeclarationGroupMappings</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaceMappingSets";mmt.qualifiedName="ModeDeclarationMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of ModeDeclarationMappings owned by the enclosing ModeDeclarationMappingSet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDeclarationMappingSet.modeDeclarationMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-MAPPING" type="AR:MODE-DECLARATION-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ModeDeclarationMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DECLARATION-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class implements a container for ModeDeclarationGroupMappings</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaceMappingSets";mmt.qualifiedName="ModeDeclarationMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:MODE-DECLARATION-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MODE-DECLARATION-MAPPING-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-DECLARATION-MAPPING-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Timing::ModeDrivenTransmissionModeCondition -->
   <xsd:group name="MODE-DRIVEN-TRANSMISSION-MODE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The condition defined by this class evaluates to true if one of the referenced modeDeclarations (OR associated) is active. All referenced modeDeclarations shall be from the same ModeDeclarationGroup.

The condition is used to define which TransmissionMode shall be activated using Com_SwitchIpduTxMode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDrivenTransmissionModeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to one modeDeclaration which is OR associated in the context of the ModeDrivenTransmissionModeCondition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeDrivenTransmissionModeCondition.modeDeclaration";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::ModeDrivenTransmissionModeCondition -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-DRIVEN-TRANSMISSION-MODE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The condition defined by this class evaluates to true if one of the referenced modeDeclarations (OR associated) is active. All referenced modeDeclarations shall be from the same ModeDeclarationGroup.

The condition is used to define which TransmissionMode shall be activated using Com_SwitchIpduTxMode.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeDrivenTransmissionModeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-DRIVEN-TRANSMISSION-MODE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclaration::ModeErrorBehavior -->
   <xsd:group name="MODE-ERROR-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the error behavior in the context of mode handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeErrorBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-MODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ModeDeclaration that is considered the error mode in the context of the enclosing ModeDeclarationGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeErrorBehavior.defaultMode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ERROR-REACTION-POLICY" type="AR:MODE-ERROR-REACTION-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to define the policy in terms of which default model shall apply in case an error occurs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeErrorBehavior.errorReactionPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeErrorBehavior -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-ERROR-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the error behavior in the context of mode handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeErrorBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-ERROR-BEHAVIOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::ModeGroupInAtomicSwcInstanceRef -->
   <xsd:group name="MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeGroupInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <!-- Association <<atpDerived>>contextPort skipped -->
         <!-- Association <<atpDerived>>target skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TimingConditional::ModeInBswInstanceRef -->
   <xsd:group name="MODE-IN-BSW-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Instance reference to be capable of referencing a specific ModeDeclaration of a ModeDeclarationGroupPrototype utilized in a BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-BSW-IMPLEMENTATION-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the BSW implementation that manifests the context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswInstanceRef.contextBswImplementation";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-IMPLEMENTATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-MODE-DECLARATION-GROUP-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the mode declaration group prototype that manifests the context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswInstanceRef.contextModeDeclarationGroupPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the specific mode declaration in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswInstanceRef.targetModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TimingConditional::ModeInBswInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-IN-BSW-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Instance reference to be capable of referencing a specific ModeDeclaration of a ModeDeclarationGroupPrototype utilized in a BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-IN-SWC-BSW-INSTANCE-REF"/>
         <xsd:group ref="AR:MODE-IN-BSW-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::ModeInBswModuleDescriptionInstanceRef -->
   <xsd:group name="MODE-IN-BSW-MODULE-DESCRIPTION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswModuleDescriptionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-MODE-DECLARATION-GROUP-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswModuleDescriptionInstanceRef.contextModeDeclarationGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswModuleDescriptionInstanceRef.targetMode";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::ModeInBswModuleDescriptionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-IN-BSW-MODULE-DESCRIPTION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInBswModuleDescriptionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:MODE-IN-BSW-MODULE-DESCRIPTION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TimingConditional::ModeInSwcBswInstanceRef -->
   <xsd:group name="MODE-IN-SWC-BSW-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Abstract class representing an instance reference to be capable of referencing a specific ModeDeclaration utilized by a SW-C or BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcBswInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class TimingConditional::ModeInSwcInstanceRef -->
   <xsd:group name="MODE-IN-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Instance reference to be capable of referencing a ModeDeclaration at a specific Mode Switch Port of a SW-C.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the SW component prototype representing the context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the port prototype representing the context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-MODE-DECLARATION-GROUP-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the mode declaration group prototype that manifests the context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcInstanceRef.contextModeDeclarationGroupPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the specific mode declaration in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcInstanceRef.targetModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TimingConditional::ModeInSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-IN-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>Instance reference to be capable of referencing a ModeDeclaration at a specific Mode Switch Port of a SW-C.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:MODE-IN-SWC-BSW-INSTANCE-REF"/>
         <xsd:group ref="AR:MODE-IN-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ModeInterfaceMapping -->
   <xsd:group name="MODE-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of ModeDeclarationGroupPrototypes in context of two different ModeInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-MAPPING" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>Mapping of two ModeDeclarationGroupPrototypes in two different ModeInterfaces</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeInterfaceMapping.modeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ModeInterfaceMapping -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of ModeDeclarationGroupPrototypes in context of two different ModeInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:PORT-INTERFACE-MAPPING"/>
         <xsd:group ref="AR:MODE-INTERFACE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::ModePortAnnotation -->
   <xsd:group name="MODE-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port used for calibration regarding a certain ModeDeclarationGroupPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModePortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>The instance of annotated ModeDeclarationGroupPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModePortAnnotation.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::ModePortAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port used for calibration regarding a certain ModeDeclarationGroupPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModePortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:MODE-PORT-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclaration::ModeRequestTypeMap -->
   <xsd:group name="MODE-REQUEST-TYPE-MAP">
      <xsd:annotation>
         <xsd:documentation>Specifies a mapping between a ModeDeclarationGroup and an ImplementationDataType. This ImplementationDataType shall be used to implement the ModeDeclarationGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeRequestTypeMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the corresponding ImplementationDataType. It shall be modeled along the idea of an "unsigned integer-like" data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeRequestTypeMap.implementationDataType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This is the corresponding ModeDeclarationGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeRequestTypeMap.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeRequestTypeMap -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-REQUEST-TYPE-MAP">
      <xsd:annotation>
         <xsd:documentation>Specifies a mapping between a ModeDeclarationGroup and an ImplementationDataType. This ImplementationDataType shall be used to implement the ModeDeclarationGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeRequestTypeMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-REQUEST-TYPE-MAP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NvBlockComponent::ModeSwitchEventTriggeredActivity -->
   <xsd:group name="MODE-SWITCH-EVENT-TRIGGERED-ACTIVITY">
      <xsd:annotation>
         <xsd:documentation>This meta-class defines an activity of the NvBlockSwComponentType for a specific NvBlock which is triggered by a ModeSwitchEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchEventTriggeredActivity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates which service of the NvM for the NvBlock shall be requested.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchEventTriggeredActivity.role";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-MODE-SWITCH-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference identifies the SwcModeSwitchEvent that triggers the activity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchEventTriggeredActivity.swcModeSwitchEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-MODE-SWITCH-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchEventTriggeredActivity.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NvBlockComponent::ModeSwitchEventTriggeredActivity -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCH-EVENT-TRIGGERED-ACTIVITY">
      <xsd:annotation>
         <xsd:documentation>This meta-class defines an activity of the NvBlockSwComponentType for a specific NvBlock which is triggered by a ModeSwitchEvent.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchEventTriggeredActivity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-SWITCH-EVENT-TRIGGERED-ACTIVITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ModeSwitchInterface -->
   <xsd:group name="MODE-SWITCH-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A mode switch interface declares a ModeDeclarationGroupPrototype to be sent and received.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="ModeSwitchInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE">
            <xsd:annotation>
               <xsd:documentation>The ModeDeclarationGroupPrototype of this mode interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchInterface.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ModeSwitchInterface -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCH-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A mode switch interface declares a ModeDeclarationGroupPrototype to be sent and received.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="ModeSwitchInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:PORT-INTERFACE"/>
         <xsd:group ref="AR:MODE-SWITCH-INTERFACE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclarationGroup::ModeSwitchPoint -->
   <xsd:group name="MODE-SWITCH-POINT">
      <xsd:annotation>
         <xsd:documentation>A ModeSwitchPoint is required by a RunnableEntity owned a Mode Manager. Its semantics implies the ability to initiate a mode switch.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-IREF" type="AR:P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The mode declaration group that is switched by this runnable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchPoint.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclarationGroup::ModeSwitchPoint -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCH-POINT">
      <xsd:annotation>
         <xsd:documentation>A ModeSwitchPoint is required by a RunnableEntity owned a Mode Manager. Its semantics implies the ability to initiate a mode switch.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:MODE-SWITCH-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="MODE-SWITCH-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-SWITCH-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Communication::ModeSwitchReceiverComSpec -->
   <xsd:group name="MODE-SWITCH-RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of RPortPrototypes with respect to mode communication</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENHANCED-MODE-API" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This controls the creation of the enhanced mode API that returns information about the previous mode and the next mode. If set to "true" the enhanced mode API is supposed to be generated. For more details please refer to the SWS_RTE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchReceiverComSpec.enhancedModeApi";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>ModeDeclarationGroupPrototype (of the same PortInterface) to which these communication attributes apply.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="ModeSwitchReceiverComSpec.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORTS-ASYNCHRONOUS-MODE-SWITCH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the behavior of the corresponding RPortPrototype with respect to the question whether it can deal with asynchronous mode switch requests, i.e. if set to true, the RPortPrototype is able to deal with an asynchronous mode switch request.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchReceiverComSpec.supportsAsynchronousModeSwitch";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ModeSwitchReceiverComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCH-RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of RPortPrototypes with respect to mode communication</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:R-PORT-COM-SPEC"/>
         <xsd:group ref="AR:MODE-SWITCH-RECEIVER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::ModeSwitchSenderComSpec -->
   <xsd:group name="MODE-SWITCH-SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of PPortPrototypes with respect to mode communication</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchSenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENHANCED-MODE-API" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This controls the creation of the enhanced mode API that returns information about the previous mode and the next mode. If set to "true" the enhanced mode API is supposed to be generated. For more details please refer to the SWS_RTE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchSenderComSpec.enhancedModeApi";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>ModeDeclarationGroupPrototype (of the same PortInterface) to which these communication attributes apply.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchSenderComSpec.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-SWITCHED-ACK" type="AR:MODE-SWITCHED-ACK-REQUEST">
            <xsd:annotation>
               <xsd:documentation>If this aggregation exists an acknowledgement for the successful processing of the mode switch request is required.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchSenderComSpec.modeSwitchedAck";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="QUEUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of call queue on the mode user side. The queue is implemented by the RTE. The value shall be greater or equal to 1. Setting the value of queueLength to 1 implies that incoming requests are rejected while another request that arrived earlier is being processed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchSenderComSpec.queueLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ModeSwitchSenderComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCH-SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of PPortPrototypes with respect to mode communication</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchSenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:P-PORT-COM-SPEC"/>
         <xsd:group ref="AR:MODE-SWITCH-SENDER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::ModeSwitchedAckEvent -->
   <xsd:group name="MODE-SWITCHED-ACK-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced modes have been received or an error occurs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchedAckEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>Mode switch point that triggers the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="event.eventSource";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-SWITCH-POINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::ModeSwitchedAckEvent -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCHED-ACK-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when the referenced modes have been received or an error occurs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchedAckEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:MODE-SWITCHED-ACK-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Communication::ModeSwitchedAckRequest -->
   <xsd:group name="MODE-SWITCHED-ACK-REQUEST">
      <xsd:annotation>
         <xsd:documentation>Requests acknowledgements that a mode switch has been proceeded successfully</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchedAckRequest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Number of seconds before an error is reported or in case of allowed redundancy, the value is sent again.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchedAckRequest.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ModeSwitchedAckRequest -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-SWITCHED-ACK-REQUEST">
      <xsd:annotation>
         <xsd:documentation>Requests acknowledgements that a mode switch has been proceeded successfully</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeSwitchedAckRequest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODE-SWITCHED-ACK-REQUEST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclaration::ModeTransition -->
   <xsd:group name="MODE-TRANSITION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe possible ModeTransitions in the context of a ModeDeclarationGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeTransition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENTERED-MODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the entered model of the ModeTransition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeTransition.enteredMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXITED-MODE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the exited mode of the ModeTransition</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ModeTransition.exitedMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::ModeTransition -->
   <xsd:complexType abstract="false" mixed="false" name="MODE-TRANSITION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to describe possible ModeTransitions in the context of a ModeDeclarationGroup.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeTransition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:MODE-TRANSITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class AdminData::Modification -->
   <xsd:group name="MODIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability  to record what has changed in a document in comparison to its predecessor.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Modification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHANGE" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This property denotes the one particular change which was performed on the object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Modification.change";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REASON" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This property represents the rationale for the particular change.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Modification.reason";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AdminData::Modification -->
   <xsd:complexType abstract="false" mixed="false" name="MODIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability  to record what has changed in a document in comparison to its predecessor.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Modification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MODIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryArg -->
   <xsd:group name="MSR-QUERY-ARG">
      <xsd:annotation>
         <xsd:documentation>This represents an argument to the query. Note that the arguments are not standardized and therefore subject to mutual agreement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryArg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARG" type="AR:STRING--SIMPLE">
            <xsd:annotation>
               <xsd:documentation>This is the value of the argument.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryArg.arg";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="false";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class MsrQuery::MsrQueryArg -->
   <xsd:attributeGroup name="MSR-QUERY-ARG">
      <xsd:annotation>
         <xsd:documentation>This represents an argument to the query. Note that the arguments are not standardized and therefore subject to mutual agreement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryArg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="SI" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This denotes the name of the query argument (semantic information)</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryArg.si";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class MsrQuery::MsrQueryArg -->
   <xsd:complexType name="MSR-QUERY-ARG">
      <xsd:annotation>
         <xsd:documentation>This represents an argument to the query. Note that the arguments are not standardized and therefore subject to mutual agreement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryArg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:MSR-QUERY-ARG"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryChapter -->
   <xsd:group name="MSR-QUERY-CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a query which yields a set of chapters as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryChapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-PROPS" type="AR:MSR-QUERY-PROPS">
            <xsd:annotation>
               <xsd:documentation>This is argument and properties of the chapter query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryChapter.msrQueryProps";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-RESULT-CHAPTER" type="AR:MSR-QUERY-RESULT-CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This represents the result of the query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryChapter.msrQueryResultChapter";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryChapter -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a query which yields a set of chapters as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryChapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:MSR-QUERY-CHAPTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryP1 -->
   <xsd:group name="MSR-QUERY-P-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a query which yields the content of a topic as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-PROPS" type="AR:MSR-QUERY-PROPS">
            <xsd:annotation>
               <xsd:documentation>This is argument and properties of the paragraph query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP1.msrQueryProps";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-RESULT-P-1" type="AR:TOPIC-CONTENT">
            <xsd:annotation>
               <xsd:documentation>This represents the result of the query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP1.msrQueryResultP1";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryP1 -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-P-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a query which yields the content of a topic as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:MSR-QUERY-P-1"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryP2 -->
   <xsd:group name="MSR-QUERY-P-2">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a query which yields the content of a DocumentationBlock as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP2"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-PROPS" type="AR:MSR-QUERY-PROPS">
            <xsd:annotation>
               <xsd:documentation>This is argument and properties of the DocumentationBlock query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP2.msrQueryProps";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-RESULT-P-2" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents the result of the query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP2.msrQueryResultP2";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryP2 -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-P-2">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a query which yields the content of a DocumentationBlock as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryP2"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MSR-QUERY-P-2"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryProps -->
   <xsd:group name="MSR-QUERY-PROPS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to specificy a query which yields some documentation text. The qualities of the result are determined by the context in which the query is used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This element specifies the name of the MSR-QUERY triggered.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryProps.msrQueryName";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="MSR-QUERY-ARG" type="AR:MSR-QUERY-ARG">
            <xsd:annotation>
               <xsd:documentation>This element specifies an argument within an MsrQuery.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryProps.msrQueryArg";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="30";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMENT" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This element contains a commentary in text form.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryProps.comment";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryProps -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-PROPS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to specificy a query which yields some documentation text. The qualities of the result are determined by the context in which the query is used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MSR-QUERY-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryResultChapter -->
   <xsd:group name="MSR-QUERY-RESULT-CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the result of an msrquery which is a set of chapters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryResultChapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CHAPTER" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This is one particular chapter in the query result.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryResultChapter.chapter";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryResultChapter -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-RESULT-CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the result of an msrquery which is a set of chapters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryResultChapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MSR-QUERY-RESULT-CHAPTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryResultTopic1 -->
   <xsd:group name="MSR-QUERY-RESULT-TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to express the result of a query which is a set of topics.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryResultTopic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="TOPIC-1" type="AR:TOPIC-1">
            <xsd:annotation>
               <xsd:documentation>This represents one particular topic in the query result.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryResultTopic1.topic1";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryResultTopic1 -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-RESULT-TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to express the result of a query which is a set of topics.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryResultTopic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MSR-QUERY-RESULT-TOPIC-1"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MsrQuery::MsrQueryTopic1 -->
   <xsd:group name="MSR-QUERY-TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a query which yields a set of topics as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryTopic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-PROPS" type="AR:MSR-QUERY-PROPS">
            <xsd:annotation>
               <xsd:documentation>This is argument and properties of the topic query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryTopic1.msrQueryProps";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MSR-QUERY-RESULT-TOPIC-1" type="AR:MSR-QUERY-RESULT-TOPIC-1">
            <xsd:annotation>
               <xsd:documentation>This represents the result of the query.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryTopic1.msrQueryResultTopic1";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MsrQuery::MsrQueryTopic1 -->
   <xsd:complexType abstract="false" mixed="false" name="MSR-QUERY-TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a query which yields a set of topics as a result.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MsrQueryTopic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:MSR-QUERY-TOPIC-1"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class MultilanguageData::MultiLanguageOverviewParagraph -->
   <xsd:group name="MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the content of a multilingual paragraph in an overview item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="L-2" type="AR:L-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This represents the text in one particular language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageOverviewParagraph.l2";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MultilanguageData::MultiLanguageOverviewParagraph -->
   <xsd:complexType abstract="false" mixed="false" name="MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the content of a multilingual paragraph in an overview item.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MultilanguageData::MultiLanguageParagraph -->
   <xsd:group name="MULTI-LANGUAGE-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the content model of a multilingual paragraph in a documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="L-1" type="AR:L-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This is the paragraph content in one partiucular language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageParagraph.l1";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageParagraph.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class MultilanguageData::MultiLanguageParagraph -->
   <xsd:attributeGroup name="MULTI-LANGUAGE-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the content model of a multilingual paragraph in a documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageParagraph.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class MultilanguageData::MultiLanguageParagraph -->
   <xsd:complexType abstract="false" mixed="false" name="MULTI-LANGUAGE-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the content model of a multilingual paragraph in a documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:MULTI-LANGUAGE-PARAGRAPH"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:MULTI-LANGUAGE-PARAGRAPH"/>
   </xsd:complexType>
   <!-- element group for class MultilanguageData::MultiLanguagePlainText -->
   <xsd:group name="MULTI-LANGUAGE-PLAIN-TEXT">
      <xsd:annotation>
         <xsd:documentation>This is a multilingual plaint Text.It is intended to be rendered as a paragraph.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguagePlainText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="L-10" type="AR:L-PLAIN-TEXT">
            <xsd:annotation>
               <xsd:documentation>This is the plain text in one particular language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguagePlainText.l10";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MultilanguageData::MultiLanguagePlainText -->
   <xsd:complexType abstract="false" mixed="false" name="MULTI-LANGUAGE-PLAIN-TEXT">
      <xsd:annotation>
         <xsd:documentation>This is a multilingual plaint Text.It is intended to be rendered as a paragraph.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguagePlainText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MULTI-LANGUAGE-PLAIN-TEXT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MultilanguageData::MultiLanguageVerbatim -->
   <xsd:group name="MULTI-LANGUAGE-VERBATIM">
      <xsd:annotation>
         <xsd:documentation>This class represents multilingual Verbatim. Verbatim means, that white-space is maintained. When Verbatim is rendered in PDF or Online media, white-space is obeyed. Blanks are rendered as well as newline characters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="L-5" type="AR:L-VERBATIM">
            <xsd:annotation>
               <xsd:documentation>This the text in one particular language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim.l5";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class MultilanguageData::MultiLanguageVerbatim -->
   <xsd:attributeGroup name="MULTI-LANGUAGE-VERBATIM">
      <xsd:annotation>
         <xsd:documentation>This class represents multilingual Verbatim. Verbatim means, that white-space is maintained. When Verbatim is rendered in PDF or Online media, white-space is obeyed. Blanks are rendered as well as newline characters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ALLOW-BREAK" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This indicates if the verbatim text might be split on multiple pages. Default is "1".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim.allowBreak";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="FLOAT" type="AR:FLOAT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicate whether it is allowed to break the element. The following values are allowed:</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim.float";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="PGWIDE" type="AR:PGWIDE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Used to indicate wether the figure should take the complete page width (value = "pgwide") or not (value = "noPgwide").</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim.pgwide";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class MultilanguageData::MultiLanguageVerbatim -->
   <xsd:complexType abstract="false" mixed="false" name="MULTI-LANGUAGE-VERBATIM">
      <xsd:annotation>
         <xsd:documentation>This class represents multilingual Verbatim. Verbatim means, that white-space is maintained. When Verbatim is rendered in PDF or Online media, white-space is obeyed. Blanks are rendered as well as newline characters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiLanguageVerbatim"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:MULTI-LANGUAGE-VERBATIM"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:MULTI-LANGUAGE-VERBATIM"/>
   </xsd:complexType>
   <!-- element group for class MultidimensionalTime::MultidimensionalTime -->
   <xsd:group name="MULTIDIMENSIONAL-TIME">
      <xsd:annotation>
         <xsd:documentation>This is used to specify a multidimensional time value based on ASAM CSE codes. It is specified by a code which defined the basis of the time and a scaling factor which finally determines the time value.

If for example the cseCode is 100 and the cseCodeFactor is 360, it represents 360 angular degrees.
If the cseCode is 0 and the cseCodeFactor is 50 it represents 50 microseconds.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultidimensionalTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CSE-CODE" type="AR:CSE-CODE-TYPE-STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the time base by means of CSE codes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultidimensionalTime.cseCode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CSE-CODE-FACTOR" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The scaling factor for the time value based on the specified CSE code.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultidimensionalTime.cseCodeFactor";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MultidimensionalTime::MultidimensionalTime -->
   <xsd:complexType abstract="false" mixed="false" name="MULTIDIMENSIONAL-TIME">
      <xsd:annotation>
         <xsd:documentation>This is used to specify a multidimensional time value based on ASAM CSE codes. It is specified by a code which defined the basis of the time and a scaling factor which finally determines the time value.

If for example the cseCode is 100 and the cseCodeFactor is 360, it represents 360 angular degrees.
If the cseCode is 0 and the cseCodeFactor is 50 it represents 50 microseconds.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultidimensionalTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MULTIDIMENSIONAL-TIME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MultilanguageData::MultilanguageLongName -->
   <xsd:group name="MULTILANGUAGE-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a long name which acts in the role of a headline. It is intended for human readers. Per language it should be around max 80 characters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultilanguageLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="L-4" type="AR:L-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This is the long name in one particular language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultilanguageLongName.l4";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MultilanguageData::MultilanguageLongName -->
   <xsd:complexType abstract="false" mixed="false" name="MULTILANGUAGE-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a long name which acts in the role of a headline. It is intended for human readers. Per language it should be around max 80 characters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultilanguageLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MULTILANGUAGE-LONG-NAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Identifiable::MultilanguageReferrable -->
   <xsd:group name="MULTILANGUAGE-REFERRABLE">
      <xsd:annotation>
         <xsd:documentation>Instances of this class can be referred to by their identifier (while adhering to namespace borders). They also may have a longName. But they are not considered to contribute substantially to the overall structure of an AUTOSAR description. In particular it does not contain other Referrables.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultilanguageReferrable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LONG-NAME" type="AR:MULTILANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This specifies the long name of the object. Long name is targeted to human readers and acts like a headline.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultilanguageReferrable.longName";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CoreCommunication::MultiplexedIPdu -->
   <xsd:group name="MULTIPLEXED-I-PDU">
      <xsd:annotation>
         <xsd:documentation>A MultiplexedPdu (i.e. NOT a COM I-PDU) contains a DynamicPart, an optional StaticPart and a selectorField. In case of multiplexing this IPdu is routed between the Pdu Multiplexer and the Interface Layer. 

A multiplexer is used to define variable parts within an IPdu that may carry different signals. The receivers of such a IPdu can determine which signalPdus are transmitted by evaluating the selector field, which carries a unique selector code for each sub-part.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="MultiplexedIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-PARTS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.dynamicPart";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DYNAMIC-PART" type="AR:DYNAMIC-PART"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SELECTOR-FIELD-BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the order of the bytes of the selectorField and the packing into the MultiplexedIPdu. Please consider that [constr_3247] and [constr_3223] are restricting the usage of this attribute. 


In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn't need to be described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.selectorFieldByteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SELECTOR-FIELD-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size in bits of the selector field shall be configurable in a range of 1-16 bits. 
In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn't need to be described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.selectorFieldLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SELECTOR-FIELD-START-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This parameter is necessary to describe the position of the selector field within the IPdu.

Note that the absolute position of the selectorField in the MultiplexedIPdu is determined by the definition of the selectorFieldByteOrder attribute of the Multiplexed Pdu. If Big Endian is specified, the start position indicates the bit position of the most significant bit in the IPdu. If Little Endian is specified, the start position indicates the bit position of the least significant bit in the IPdu. In AUTOSAR the bit counting is always set to "sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.

In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn't need to be described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.selectorFieldStartPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATIC-PARTS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.staticPart";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="STATIC-PART" type="AR:STATIC-PART"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-MODE" type="AR:TRIGGER-MODE">
            <xsd:annotation>
               <xsd:documentation>IPduM can be configured to send a transmission request for the new multiplexed IPdu to the PDU-Router because of the trigger conditions/ modes that are described in the TriggerMode enumeration.

In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn't need to be described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.triggerMode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNUSED-BIT-PATTERN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>AUTOSAR COM and AUTOSAR IPDUM are filling not used areas of an IPdu with this bit-pattern. This attribute is mandatory to avoid undefined behavior. This byte-pattern will be repeated throughout the IPdu. 

In a complete System Description this attribute is mandatory. If a MultiplexedPdu is received by a Pdu Gateway and is not delivered to the IPduM but routed directly to a bus interface then the content of the MulitplexedPdu doesn't need to be described in the System Extract/Ecu Extract. To support this use case the multiplicity is set to 0..1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedIPdu.unusedBitPattern";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::MultiplexedIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="MULTIPLEXED-I-PDU">
      <xsd:annotation>
         <xsd:documentation>A MultiplexedPdu (i.e. NOT a COM I-PDU) contains a DynamicPart, an optional StaticPart and a selectorField. In case of multiplexing this IPdu is routed between the Pdu Multiplexer and the Interface Layer. 

A multiplexer is used to define variable parts within an IPdu that may carry different signals. The receivers of such a IPdu can determine which signalPdus are transmitted by evaluating the selector field, which carries a unique selector code for each sub-part.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="MultiplexedIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:MULTIPLEXED-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::MultiplexedPart -->
   <xsd:group name="MULTIPLEXED-PART">
      <xsd:annotation>
         <xsd:documentation>The StaticPart and the DynamicPart have common properties. Both can be separated in multiple segments within the multiplexed PDU.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedPart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEGMENT-POSITIONS">
            <xsd:annotation>
               <xsd:documentation>The StaticPart and the DynamicPart can be separated in multiple segments within the multiplexed PDU. Therefore the StaticPart and
the DynamicPart can contain multiple SegmentPositions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="MultiplexedPart.segmentPosition";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SEGMENT-POSITION" type="AR:SEGMENT-POSITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataFormatTailoring::MultiplicityRestrictionWithSeverity -->
   <xsd:group name="MULTIPLICITY-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>Restriction that specifies the valid number of occurrences of an element in the current context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiplicityRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::MultiplicityRestrictionWithSeverity -->
   <xsd:complexType abstract="false" mixed="false" name="MULTIPLICITY-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>Restriction that specifies the valid number of occurrences of an element in the current context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MultiplicityRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RESTRICTION-WITH-SEVERITY"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:MULTIPLICITY-RESTRICTION-WITH-SEVERITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::NPdu -->
   <xsd:group name="N-PDU">
      <xsd:annotation>
         <xsd:documentation>This is a Pdu of the Transport Layer.
The main purpose of the TP Layer is to segment and reassemble IPdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="NPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CoreCommunication::NPdu -->
   <xsd:complexType abstract="false" mixed="false" name="N-PDU">
      <xsd:annotation>
         <xsd:documentation>This is a Pdu of the Transport Layer.
The main purpose of the TP Layer is to segment and reassemble IPdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="NPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:N-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="N-PDU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="N-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::NetworkEndpoint -->
   <xsd:group name="NETWORK-ENDPOINT">
      <xsd:annotation>
         <xsd:documentation>The network endpoint defines the network addressing (e.g. IP-Address or MAC multicast address).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FULLY-QUALIFIED-DOMAIN-NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Defines the fully qualified domain name (FQDN) e.g. some.example.host.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpoint.fullyQualifiedDomainName";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INFRASTRUCTURE-SERVICES" type="AR:INFRASTRUCTURE-SERVICES">
            <xsd:annotation>
               <xsd:documentation>Defines the network infrastructure services provided or consumed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpoint.infrastructureServices";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-ENDPOINT-ADDRESSES">
            <xsd:annotation>
               <xsd:documentation>Definition of a Network Address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpoint.networkEndpointAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.namePlural="NETWORK-ENDPOINT-ADDRESSES"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IPV-4-CONFIGURATION" type="AR:IPV-4-CONFIGURATION"/>
                  <xsd:element name="IPV-6-CONFIGURATION" type="AR:IPV-6-CONFIGURATION"/>
                  <xsd:element name="MAC-MULTICAST-CONFIGURATION" type="AR:MAC-MULTICAST-CONFIGURATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority of this Network-Endpoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpoint.priority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::NetworkEndpoint -->
   <xsd:complexType abstract="false" mixed="false" name="NETWORK-ENDPOINT">
      <xsd:annotation>
         <xsd:documentation>The network endpoint defines the network addressing (e.g. IP-Address or MAC multicast address).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NETWORK-ENDPOINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="NETWORK-ENDPOINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NETWORK-ENDPOINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::NetworkEndpointAddress -->
   <xsd:group name="NETWORK-ENDPOINT-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>To build a valid network endpoint address there has to be either one MAC multicast group reference or an ipv4 configuration or an ipv6 configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NetworkEndpointAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class NetworkManagement::NmCluster -->
   <xsd:group name="NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Set of NM nodes coordinated with use of the NM algorithm.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CLUSTER-REF">
            <xsd:annotation>
               <xsd:documentation>Asscociation to a CommunicationCluster in the topology description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster.communicationCluster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CHANNEL-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute has the status "removed" and shall not be used any longer. 

Old description:
Channel identification number of the corresponding channel. Must be unique over all NmClusters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="NmCluster.nmChannelId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CHANNEL-SLEEP-MASTER" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This parameter shall be set to indicate if the sleep of this network can be absolutely decided by the local node only and that no other nodes can oppose that decision.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster.nmChannelSleepMaster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NODES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster.nmNode";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-NM-NODE" type="AR:CAN-NM-NODE"/>
                  <xsd:element name="FLEXRAY-NM-NODE" type="AR:FLEXRAY-NM-NODE"/>
                  <xsd:element name="J-1939-NM-NODE" type="AR:J-1939-NM-NODE"/>
                  <xsd:element name="UDP-NM-NODE" type="AR:UDP-NM-NODE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-PNC-PARTICIPATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether this NmCluster contributes to the partial network mechanism.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster.nmPncParticipation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-SYNCHRONIZING-NETWORK" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this parameter is true, then this network is a synchronizing network for the NM coordination cluster which it belongs to. The network is expected to call Nm_SynchronizationPoint() at regular intervals.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster.nmSynchronizingNetwork";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCluster.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class NetworkManagement::NmClusterCoupling -->
   <xsd:group name="NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>Attributes that are valid for each of the referenced (coupled) clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmClusterCoupling.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class NetworkManagement::NmConfig -->
   <xsd:group name="NM-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Contains the all configuration elements for AUTOSAR Nm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="NmConfigs";mmt.qualifiedName="NmConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CLUSTERS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmConfig.nmCluster";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-NM-CLUSTER" type="AR:CAN-NM-CLUSTER"/>
                  <xsd:element name="FLEXRAY-NM-CLUSTER" type="AR:FLEXRAY-NM-CLUSTER"/>
                  <xsd:element name="J-1939-NM-CLUSTER" type="AR:J-1939-NM-CLUSTER"/>
                  <xsd:element name="LIN-NM-CLUSTER" type="AR:LIN-NM-CLUSTER"/>
                  <xsd:element name="UDP-NM-CLUSTER" type="AR:UDP-NM-CLUSTER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CLUSTER-COUPLINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmConfig.nmClusterCoupling";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-NM-CLUSTER-COUPLING" type="AR:CAN-NM-CLUSTER-COUPLING"/>
                  <xsd:element name="FLEXRAY-NM-CLUSTER-COUPLING" type="AR:FLEXRAY-NM-CLUSTER-COUPLING"/>
                  <xsd:element name="UDP-NM-CLUSTER-COUPLING" type="AR:UDP-NM-CLUSTER-COUPLING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IF-ECUS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmConfig.nmIfEcu";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NM-ECU" type="AR:NM-ECU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::NmConfig -->
   <xsd:complexType abstract="false" mixed="false" name="NM-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Contains the all configuration elements for AUTOSAR Nm.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="NmConfigs";mmt.qualifiedName="NmConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:NM-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::NmCoordinator -->
   <xsd:group name="NM-COORDINATOR">
      <xsd:annotation>
         <xsd:documentation>A NM coordinator is an ECU, which is connected to at least two busses, and where the requirement exists that shutdown of NM of at least two of these busses (also referred to as coordinated busses) has to be performed synchronously.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Identification of the NMCoordinator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinator.index";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-ACTIVE-COORDINATOR" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is obsolete and is no longer supported. It is replaced by the attribute NmCoordinatorRole in NmNode.

Old description:
This attribute indicates whether a NM Coordinator is an active gateway (true) or a passive gateway (false).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="NmCoordinator.nmActiveCoordinator";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-COORD-SYNC-SUPPORT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch for enabling NmCoordinatorSync (coordination of nested busses) support.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinator.nmCoordSyncSupport";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-GLOBAL-COORDINATOR-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum shutdown time (in seconds) of a connected and coordinated NM-Cluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinator.nmGlobalCoordinatorTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NODE-REFS">
            <xsd:annotation>
               <xsd:documentation>reference to busses (via NmNodes) that are coordinated by the NmCoordinator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinator.nmNode";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NM-NODE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:NM-NODE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-SHUTDOWN-DELAY-TIMER" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Please note that this attribute is obsolete and is no longer supported.

Old description:
This parameter defines the time in seconds which the NM Coordination algorithm shall delay the release of the referenced cluster.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="NmCoordinator.nmShutdownDelayTimer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::NmCoordinator -->
   <xsd:complexType abstract="false" mixed="false" name="NM-COORDINATOR">
      <xsd:annotation>
         <xsd:documentation>A NM coordinator is an ECU, which is connected to at least two busses, and where the requirement exists that shutdown of NM of at least two of these busses (also referred to as coordinated busses) has to be performed synchronously.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinator"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NM-COORDINATOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::NmEcu -->
   <xsd:group name="NM-ECU">
      <xsd:annotation>
         <xsd:documentation>ECU on which NM is running.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUS-DEPENDENT-NM-ECUS">
            <xsd:annotation>
               <xsd:documentation>Cluster specific NmEcu attributes</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.busDependentNmEcu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-NM-ECU" type="AR:CAN-NM-ECU"/>
                  <xsd:element name="FLEXRAY-NM-ECU" type="AR:FLEXRAY-NM-ECU"/>
                  <xsd:element name="J-1939-NM-ECU" type="AR:J-1939-NM-ECU"/>
                  <xsd:element name="UDP-NM-ECU" type="AR:UDP-NM-ECU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUS-SPECIFIC-NM-ECU">
            <xsd:annotation>
               <xsd:documentation>Busspecific NmEcu attributes. 
Please note that this aggregation is deprecated and is replaced by the busDependentNmEcu aggregation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="NmEcu.busSpecificNmEcu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CAN-NM-ECU" type="AR:CAN-NM-ECU"/>
                  <xsd:element name="FLEXRAY-NM-ECU" type="AR:FLEXRAY-NM-ECU"/>
                  <xsd:element name="J-1939-NM-ECU" type="AR:J-1939-NM-ECU"/>
                  <xsd:element name="UDP-NM-ECU" type="AR:UDP-NM-ECU"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Asscociation to an ECUInstance in the topology description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-BUS-SYNCHRONIZATION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables bus synchronization support.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmBusSynchronizationEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-COM-CONTROL-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables the Communication Control support.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmComControlEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-COORDINATOR" type="AR:NM-COORDINATOR">
            <xsd:annotation>
               <xsd:documentation>Nm ECU may coordinate different clusters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmCoordinator";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CYCLETIME-MAIN-FUNCTION" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>The period between successive calls to the Main Function of the NM Interface in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmCycletimeMainFunction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MULTIPLE-CHANNELS-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables channel multiplicity support.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="NmEcu.nmMultipleChannelsEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NODE-DETECTION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables the Request Repeat Message Request support. Only valid if nmNodeIdEnabled is set to true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmNodeDetectionEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NODE-ID-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables the source node identifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmNodeIdEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-PASSIVE-MODE-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute enables the support of the Passive Mode.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="NmEcu.nmPassiveModeEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-PDU-RX-INDICATION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch for enabling the PDU Rx Indication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmPduRxIndicationEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REMOTE-SLEEP-IND-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch for enabling remote sleep indication support.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmRemoteSleepIndEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MSG-IND-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch for enabling the Repeat Message Bit Indication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmRepeatMsgIndEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-STATE-CHANGE-IND-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables the CAN Network Management state change notification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmStateChangeIndEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-USER-DATA-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Switch for enabling user data support.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.nmUserDataEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::NmEcu -->
   <xsd:complexType abstract="false" mixed="false" name="NM-ECU">
      <xsd:annotation>
         <xsd:documentation>ECU on which NM is running.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="NM-ECU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NM-ECU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class NetworkManagement::NmNode -->
   <xsd:group name="NM-NODE">
      <xsd:annotation>
         <xsd:documentation>The linking of NmEcus to NmClusters is realized via the NmNodes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTROLLER-REF">
            <xsd:annotation>
               <xsd:documentation>Asscociation to an CommunicationController in the topology description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.controller";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CONTROLLER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-COORD-CLUSTER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>NmCoordinationCluster identification number.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.nmCoordCluster";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-COORDINATOR-ROLE" type="AR:NM-COORDINATOR-ROLE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates the role the NM Coordinator will have on this channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.nmCoordinatorRole";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IF-ECU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the NmEcu that contains this NmNode. (CommunicationController that is referenced by the NmNode shall be contained in the EcuInstance that is referenced by the NmEcu).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.nmIfEcu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:NM-ECU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NODE-ID" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Node identifier of local NmNode. Must be unique in the NmCluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.nmNodeId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-PASSIVE-MODE-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables support of the Passive Mode. The passive mode is configurable per channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.nmPassiveModeEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RX-NM-PDU-REFS">
            <xsd:annotation>
               <xsd:documentation>receive NM Pdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.rxNmPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RX-NM-PDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:NM-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TX-NM-PDU-REFS">
            <xsd:annotation>
               <xsd:documentation>transmit NM Pdu</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.txNmPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TX-NM-PDU-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:NM-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmNode.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="NM-NODE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-NM-NODE"/>
         <xsd:enumeration value="FLEXRAY-NM-NODE"/>
         <xsd:enumeration value="J-1939-NM-NODE"/>
         <xsd:enumeration value="NM-NODE"/>
         <xsd:enumeration value="UDP-NM-NODE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::NmPdu -->
   <xsd:group name="NM-PDU">
      <xsd:annotation>
         <xsd:documentation>Network Management Pdu</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="NmPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-TO-I-PDU-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This optional aggregation is used to describe NmUserData that is transmitted in the NmPdu.  The counting of the startPosition starts at the beginning of the NmPdu regardless whether Cbv or Nid are used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu.iSignalToIPduMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-TO-I-PDU-MAPPING" type="AR:I-SIGNAL-TO-I-PDU-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-DATA-INFORMATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if the Pdu contains NM Data. 
If the NmPdu does not aggregate any ISignalToIPduMappings it still may contain UserData that is set via Nm_SetUserData(). If the ISignalToIPduMapping exists then the nmDataInformation attribute shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu.nmDataInformation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-VOTE-INFORMATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if the Pdu contains NM Vote information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu.nmVoteInformation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNUSED-BIT-PATTERN" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>AUTOSAR COM is filling not used areas of an Pdu with this bit-pattern. This attribute can only be used if the nmDataInformation attribute is set to true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu.unusedBitPattern";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::NmPdu -->
   <xsd:complexType abstract="false" mixed="false" name="NM-PDU">
      <xsd:annotation>
         <xsd:documentation>Network Management Pdu</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="NmPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:NM-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="NM-PDU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NM-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::NmPduRefConditional -->
   <xsd:group name="NM-PDU-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-PDU-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:NM-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NmPduRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::NmPduRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="NM-PDU-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NM-PDU-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::NonqueuedReceiverComSpec -->
   <xsd:group name="NONQUEUED-RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes specific to non-queued receiving.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIVE-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specify the amount of time (in seconds) after which the software component (via the RTE)  needs to be notified if the corresponding data item have not been received according to the specified timing description.

If the aliveTimeout attribute is 0 no timeout monitoring shall be performed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.aliveTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-UPDATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute controls whether application code is entitled to check whether the value of the corresponding VariableDataPrototype has been updated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.enableUpdate";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FILTER" type="AR:DATA-FILTER">
            <xsd:annotation>
               <xsd:documentation>The applicable filter algorithm for filtering the value of the corresponding dataElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.filter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-DATA-STATUS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true than the Rte_IStatus API shall exist. If the attribute does not exist or is set to false then the Rte_IStatus API may still exist in response to the existence of further conditions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.handleDataStatus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-NEVER-RECEIVED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies whether for the corresponding VariableDataPrototype the "never received" flag is available. If yes, the RTE is supposed to assume that initially the VariableDataPrototype has not been received before.
After the first reception of the corresponding VariableDataPrototype the flag is cleared.

* If the value of this attribute is set to "true" the flag is required. 
* If set to "false", the RTE shall not support the "never received" functionality for the corresponding VariableDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.handleNeverReceived";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-TIMEOUT-TYPE" type="AR:HANDLE-TIMEOUT-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the behavior with respect to the handling of timeouts.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.handleTimeoutType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Initial value to be used in case the sending component is not yet initialized. If the sender also specifies an initial value the receiver's value will be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT-SUBSTITUTION-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the substitution value applicable in the case of a timeout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec.timeoutSubstitutionValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::NonqueuedReceiverComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="NONQUEUED-RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes specific to non-queued receiving.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:R-PORT-COM-SPEC"/>
         <xsd:group ref="AR:RECEIVER-COM-SPEC"/>
         <xsd:group ref="AR:NONQUEUED-RECEIVER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::NonqueuedSenderComSpec -->
   <xsd:group name="NONQUEUED-SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes for non-queued sender/receiver communication (sender side)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedSenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Initial value to be sent if sender component is not yet fully initialized, but receiver needs data already.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedSenderComSpec.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::NonqueuedSenderComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="NONQUEUED-SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes for non-queued sender/receiver communication (sender side)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NonqueuedSenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:P-PORT-COM-SPEC"/>
         <xsd:group ref="AR:SENDER-COM-SPEC"/>
         <xsd:group ref="AR:NONQUEUED-SENDER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Note::Note -->
   <xsd:group name="NOTE">
      <xsd:annotation>
         <xsd:documentation>This represents a note in a documentation, which may be used to highlight specific issues such as hints or caution notes.

N.B., Documentation notes can be nested recursively, even if this is not really intended. In case of nested notes e.g. the note icon of inner notes might be omitted while rendering the note.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Note"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LABEL" type="AR:MULTILANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This label can be used to superseed the default label specified by the noteType attribute. It is in particular useful for noteType="other".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Note.label";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Note.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class Note::Note -->
   <xsd:attributeGroup name="NOTE">
      <xsd:annotation>
         <xsd:documentation>This represents a note in a documentation, which may be used to highlight specific issues such as hints or caution notes.

N.B., Documentation notes can be nested recursively, even if this is not really intended. In case of nested notes e.g. the note icon of inner notes might be omitted while rendering the note.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Note"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="NOTE-TYPE" type="AR:NOTE-TYPE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Type of the Note. Default is "HINT"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Note.noteType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Note::Note -->
   <xsd:complexType abstract="false" mixed="false" name="NOTE">
      <xsd:annotation>
         <xsd:documentation>This represents a note in a documentation, which may be used to highlight specific issues such as hints or caution notes.

N.B., Documentation notes can be nested recursively, even if this is not really intended. In case of nested notes e.g. the note icon of inner notes might be omitted while rendering the note.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Note"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:NOTE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:NOTE"/>
   </xsd:complexType>
   <!-- element group for class Constants::NumericalOrText -->
   <xsd:group name="NUMERICAL-OR-TEXT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to yield either a numerical or a string. A typical use case is that two or more instances of this meta-class are aggregated with a VariationPoint where some instances yield strings while other instances yield numerical depending on the resolution of the binding expression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalOrText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VF" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the ability to provide a numerical value. The latest binding time of the VariationPoint shall be preCompileTime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NumericalOrText.vf";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VT" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the ability to provide a textual value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NumericalOrText.vt";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NumericalOrText.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::NumericalOrText -->
   <xsd:complexType abstract="false" mixed="false" name="NUMERICAL-OR-TEXT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to yield either a numerical or a string. A typical use case is that two or more instances of this meta-class are aggregated with a VariationPoint where some instances yield strings while other instances yield numerical depending on the resolution of the binding expression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalOrText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NUMERICAL-OR-TEXT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::NumericalRuleBasedValueSpecification -->
   <xsd:group name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to support a rule-based initialization approach for data types with an array-nature (ImplementationDataType of category ARRAY).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RULE-BASED-VALUES" type="AR:RULE-BASED-VALUE-SPECIFICATION">
            <xsd:annotation>
               <xsd:documentation>This represents the rule based value specification for the array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NumericalRuleBasedValueSpecification.ruleBasedValues";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::NumericalRuleBasedValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to support a rule-based initialization approach for data types with an array-nature (ImplementationDataType of category ARRAY).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalRuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:ABSTRACT-RULE-BASED-VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::NumericalValueSpecification -->
   <xsd:group name="NUMERICAL-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>A numerical  ValueSpecification which is intended to be assigned to a Primitive data element.
Note that the numerical value is a variant, it can be computed by a formula.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This is the value itself.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NumericalValueSpecification.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::NumericalValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="NUMERICAL-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>A numerical  ValueSpecification which is intended to be assigned to a Primitive data element.
Note that the numerical value is a variant, it can be computed by a formula.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:NUMERICAL-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AttributeValueVariationPoints::NumericalValueVariationPoint -->
   <xsd:group name="NUMERICAL-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Numerical attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::NumericalValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="NUMERICAL-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for Numerical attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NumericalValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:ABSTRACT-NUMERICAL-VARIATION-POINT"/>
         <xsd:group ref="AR:NUMERICAL-VALUE-VARIATION-POINT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
   </xsd:complexType>
   <!-- element group for class NvBlockComponent::NvBlockDataMapping -->
   <xsd:group name="NV-BLOCK-DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping between the VariableDataPrototypes in the NvBlockComponents ports and the VariableDataPrototypes of the RAM Block.

The data types of the referenced VariableDataPrototypes in the ports and the referenced sub-element (inside a CompositeDataType) of the VariableDataPrototype representing the RAM Block shall be compatible.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NV-RAM-BLOCK-ELEMENT" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a VariableDataPrototype of a RAM Block.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping.nvRamBlockElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="READ-NV-DATA" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a VariableDataPrototype of a pPort of the NvBlockComponent providing read access to the RAM Block.If there is no PortPrototype providing read access (write-only) the reference can be omitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping.readNvData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITTEN-NV-DATA" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a VariableDataPrototype of a rPort of the NvBlockComponent providing write access to the RAM Block. If there is no port providing write access (read-only) the reference can be omitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping.writtenNvData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITTEN-READ-NV-DATA" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a VariableDataPrototype of a PRPortPrototype of the NvBlockSwComponentType providing write and read access to the RAM Block.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping.writtenReadNvData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NvBlockComponent::NvBlockDataMapping -->
   <xsd:complexType abstract="false" mixed="false" name="NV-BLOCK-DATA-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping between the VariableDataPrototypes in the NvBlockComponents ports and the VariableDataPrototypes of the RAM Block.

The data types of the referenced VariableDataPrototypes in the ports and the referenced sub-element (inside a CompositeDataType) of the VariableDataPrototype representing the RAM Block shall be compatible.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDataMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NV-BLOCK-DATA-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NvBlockComponent::NvBlockDescriptor -->
   <xsd:group name="NV-BLOCK-DESCRIPTOR">
      <xsd:annotation>
         <xsd:documentation>Specifies the properties of exactly on NVRAM Block.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVER-PORTS">
            <xsd:annotation>
               <xsd:documentation>The RoleBasedPortAssignement defines which client server port of the NvBlockSwComponentType serves for which kind of service or notification. In case of notifications one common callback function is provided by the RTE for each individual kind of notification defined by the "role".

The aggregation of RoleBasedPortAssignment is subject to variability with the purpose to support the conditional existence of ports.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.clientServerPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-PORT-ASSIGNMENT" type="AR:ROLE-BASED-PORT-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTANT-VALUE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the ConstanSpecificationMapping to be applied for the particular NVRAM Block</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="constantValueMapping";mmt.qualifiedName="NvBlockDescriptor.constantValueMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTANT-VALUE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the DataTypeMapping to be applied for the particular NVRAM Block.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataTypeMapping";mmt.qualifiedName="NvBlockDescriptor.dataTypeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TYPE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DATA-TYPE-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANTIATION-DATA-DEF-PROPSS">
            <xsd:annotation>
               <xsd:documentation>The purpose of InstantiationDataDefProps are the refinement of some data def properties of individual instantiations within the context of a NvBlockSwComponentType.


The aggregation of InstantiationDataDefProps is subject to variability with the purpose to support the conditional existence of ports, component internal memory objects and those attributes. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.instantiationDataDefProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INSTANTIATION-DATA-DEF-PROPS" type="AR:INSTANTIATION-DATA-DEF-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-SWITCH-EVENT-TRIGGERED-ACTIVITYS">
            <xsd:annotation>
               <xsd:documentation>This represents the collection of ModeSwitchEventTriggeredActivities related to the enclosing NvBlockDescriptor.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="modeSwitchEventTriggeredActivity, variationPoint.shortLabel";mmt.qualifiedName="NvBlockDescriptor.modeSwitchEventTriggeredActivity";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-SWITCH-EVENT-TRIGGERED-ACTIVITY" type="AR:MODE-SWITCH-EVENT-TRIGGERED-ACTIVITY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NV-BLOCK-DATA-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Defines the mapping between the VariableDataPrototypes in the NvBlockComponents ports and the VariableDataPrototypes of the RAM Block.

The aggregation of NvBlockDataMapping is subject to variability with the purpose to support the conditional existence of nv data ports. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.nvBlockDataMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NV-BLOCK-DATA-MAPPING" type="AR:NV-BLOCK-DATA-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NV-BLOCK-NEEDS" type="AR:NV-BLOCK-NEEDS">
            <xsd:annotation>
               <xsd:documentation>Specifies the abstract needs on the configuration of the NVRAM Manager for the single NVRAM Block described by this NvBlockDescriptor.

In addition, it may define requirements for writing strategies in an implementation of an NvBlockSwComponentType by the RTE.

Please note that the attributes nDataSets and nRomBlocks are not relevant for this aggregation because the RTE will allocate just one block anyway. In a different context, however, they do make sense.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.nvBlockNeeds";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RAM-BLOCK" type="AR:VARIABLE-DATA-PROTOTYPE">
            <xsd:annotation>
               <xsd:documentation>Defines the RAM Block of the NVRAM Block provided by NvBlockSwComponentType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.ramBlock";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROM-BLOCK" type="AR:PARAMETER-DATA-PROTOTYPE">
            <xsd:annotation>
               <xsd:documentation>Defines the ROM Block of the NVRAM Block provided by NvBlockSwComponentType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.romBlock";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORT-DIRTY-FLAG" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether calling of NvM functions for writing and/or status control of potentially modified RAM Blocks to NV memory shall be controlled by the RTE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.supportDirtyFlag";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>this reference can be taken to identify the TimingEvent to be used by the RTE for implementing a cyclic writing strategy for this block</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.timingEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NvBlockComponent::NvBlockDescriptor -->
   <xsd:complexType abstract="false" mixed="false" name="NV-BLOCK-DESCRIPTOR">
      <xsd:annotation>
         <xsd:documentation>Specifies the properties of exactly on NVRAM Block.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockDescriptor"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:NV-BLOCK-DESCRIPTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::NvBlockNeeds -->
   <xsd:group name="NV-BLOCK-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of a single NVRAM Block.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALC-RAM-BLOCK-CRC" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if CRC (re)calculation for the permanent RAM Block is required.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.calcRamBlockCrc";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHECK-STATIC-BLOCK-ID" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if the Static Block Id check shall be enabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.checkStaticBlockId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLIC-WRITING-PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the period for cyclic writing of NvData to store the associated RAM Block.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.cyclicWritingPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="N-DATA-SETS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of data sets to be provided by the NVRAM manager for this block.
This is the total number of ROM Blocks and RAM Blocks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.nDataSets";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="N-ROM-BLOCKS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of ROM Blocks to be provided by the NVRAM manager for this block. Please note that these multiple ROM Blocks are given in a contiguous area.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.nRomBlocks";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RAM-BLOCK-STATUS-CONTROL" type="AR:RAM-BLOCK-STATUS-CONTROL-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines how the management of the RAM Block status is controlled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.ramBlockStatusControl";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="READONLY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>True: data of this NVRAM Block are write protected for normal operation (but protection can be disabled)
false: no restriction</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.readonly";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELIABILITY" type="AR:NV-BLOCK-NEEDS-RELIABILITY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Reliability against data loss on the non-volatile medium.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.reliability";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESISTANT-TO-CHANGED-SW" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether an NVRAM Block shall be treated resistant to configuration changes (true) or not (false). For details how to handle initialization in the latter case, please refer to the NVRAM specification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.resistantToChangedSw";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESTORE-AT-START" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether the associated RAM Block shall be implicitly restored during startup by the basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.restoreAtStart";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SELECT-BLOCK-FOR-FIRST-INIT-ALL" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the NvM shall process this block in the NvM_FirstInitAll() function.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.selectBlockForFirstInitAll";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORE-AT-SHUTDOWN" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether or not the associated RAM Block shall be implicitly stored during shutdown by the basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.storeAtShutdown";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORE-CYCLIC" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether or not the associated RAM Block shall be implicitly stored periodically by the basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.storeCyclic";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORE-EMERGENCY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether or not the associated RAM Block shall be implicitly stored in case of ECU failure (e.g. loss of power) by the basic software. If the attribute storeEmergency is set to true the associated RAM Block shall be configured to have immediate priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.storeEmergency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STORE-IMMEDIATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether or not the associated RAM Block shall be implicitly stored immediately during or after execution of the according SW-C RunnableEntity by the basic software.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.storeImmediate";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-AUTO-VALIDATION-AT-SHUT-DOWN" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true the RAM Block shall be auto validated during shutdown phase.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.useAutoValidationAtShutDown";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-CRC-COMP-MECHANISM" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true the CRC of the RAM Block shall be compared during a write job with the CRC which was calculated during the last successful read or write job in order to skip unnecessary NVRAM writings.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.useCRCCompMechanism";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITE-ONLY-ONCE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines write protection after first write:
true: This block is prevented from being changed/erased or being replaced with the default ROM data after first initialization by the software-component.
false: No such restriction.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.writeOnlyOnce";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITE-VERIFICATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines if Write Verification shall be enabled for this NVRAM Block.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.writeVerification";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITING-FREQUENCY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Provides the amount of updates to this block from the application point of view. It has to be provided in "number of write access per year".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.writingFrequency";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITING-PRIORITY" type="AR:NV-BLOCK-NEEDS-WRITING-PRIORITY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Requires the priority of writing this block in case of concurrent requests to write other blocks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds.writingPriority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::NvBlockNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="NV-BLOCK-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of a single NVRAM Block.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:NV-BLOCK-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::NvBlockSwComponentType -->
   <xsd:group name="NV-BLOCK-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The NvBlockSwComponentType defines non volatile data which data can be shared between SwComponentPrototypes. The non volatile data of the NvBlockSwComponentType are accessible via provided and required ports.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="NvBlockSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NV-BLOCK-DESCRIPTORS">
            <xsd:annotation>
               <xsd:documentation>Specification of the properties of exactly one NVRAM Block.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="NvBlockSwComponentType.nvBlockDescriptor";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NV-BLOCK-DESCRIPTOR" type="AR:NV-BLOCK-DESCRIPTOR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::NvBlockSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="NV-BLOCK-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The NvBlockSwComponentType defines non volatile data which data can be shared between SwComponentPrototypes. The non volatile data of the NvBlockSwComponentType are accessible via provided and required ports.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="NvBlockSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:NV-BLOCK-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::NvDataInterface -->
   <xsd:group name="NV-DATA-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A non volatile data interface declares a number of VariableDataPrototypes to be exchanged between non volatile block components and atomic software components.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="NvDataInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NV-DATAS">
            <xsd:annotation>
               <xsd:documentation>The VariableDataPrototype of this nv data interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvDataInterface.nvData";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::NvDataInterface -->
   <xsd:complexType abstract="false" mixed="false" name="NV-DATA-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A non volatile data interface declares a number of VariableDataPrototypes to be exchanged between non volatile block components and atomic software components.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="NvDataInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:PORT-INTERFACE"/>
         <xsd:group ref="AR:DATA-INTERFACE"/>
         <xsd:group ref="AR:NV-DATA-INTERFACE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::NvDataPortAnnotation -->
   <xsd:group name="NV-DATA-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port regarding a certain VariableDataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvDataPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The instance of nv data annotated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvDataPortAnnotation.variable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::NvDataPortAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="NV-DATA-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port regarding a certain VariableDataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvDataPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:NV-DATA-PORT-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::NvProvideComSpec -->
   <xsd:group name="NV-PROVIDE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of PPortPrototypes with respect to Nv data communication on the provided side.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvProvideComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RAM-BLOCK-INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the initial value of the RAM Block that corresponds to the referenced variable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvProvideComSpec.ramBlockInitValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROM-BLOCK-INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represents the initial value of the ROM block that corresponds to the referenced variable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvProvideComSpec.romBlockInitValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the variable for which the ComSpec is specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvProvideComSpec.variable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::NvProvideComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="NV-PROVIDE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of PPortPrototypes with respect to Nv data communication on the provided side.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvProvideComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:P-PORT-COM-SPEC"/>
         <xsd:group ref="AR:NV-PROVIDE-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::NvRequireComSpec -->
   <xsd:group name="NV-REQUIRE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of RPortPrototypes with respect to Nv data communication on the required side.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvRequireComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>The initial value owned by the NvComSpec</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvRequireComSpec.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The VariableDataPrototype the ComSpec applies for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="NvRequireComSpec.variable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::NvRequireComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="NV-REQUIRE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of RPortPrototypes with respect to Nv data communication on the required side.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvRequireComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:R-PORT-COM-SPEC"/>
         <xsd:group ref="AR:NV-REQUIRE-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ObdControlServiceNeeds -->
   <xsd:group name="OBD-CONTROL-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Service 08 (request control of on-board system) in relation to a particular test-Identifier (TID) supported by this component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdControlServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Test Identifier (TID) according to ISO 15031-5.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdControlServiceNeeds.testId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ObdControlServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="OBD-CONTROL-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Service 08 (request control of on-board system) in relation to a particular test-Identifier (TID) supported by this component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdControlServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:OBD-CONTROL-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ObdInfoServiceNeeds -->
   <xsd:group name="OBD-INFO-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a given InfoType (OBD Service 09) which is supported by this component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdInfoServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is applicable only if the ServiceNeeds is aggregated within BswModuleDependency.

This attribute represents the length of data (in bytes) provided for this InfoType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdInfoServiceNeeds.dataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INFO-TYPE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The InfoType according to ISO 15031-5</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdInfoServiceNeeds.infoType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ObdInfoServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="OBD-INFO-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a given InfoType (OBD Service 09) which is supported by this component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdInfoServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:OBD-INFO-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ObdMonitorServiceNeeds -->
   <xsd:group name="OBD-MONITOR-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a particular on-board monitoring test supported by this component or module. (OBD Service 06).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdMonitorServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ON-BOARD-MONITOR-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>On-board monitor ID according to ISO 15031-5.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdMonitorServiceNeeds.onBoardMonitorId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEST-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Test Identifier (TID) according to ISO 15031-5.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdMonitorServiceNeeds.testId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-AND-SCALING-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Unit and scaling ID according to ISO 15031-5.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdMonitorServiceNeeds.unitAndScalingId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ObdMonitorServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="OBD-MONITOR-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a particular on-board monitoring test supported by this component or module. (OBD Service 06).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdMonitorServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:OBD-MONITOR-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ObdPidServiceNeeds -->
   <xsd:group name="OBD-PID-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a particular PID (parameter identifier) which is supported by this component or module.

In case of using a client/server communicated value, the related value shall be communicated via the port referenced by asssignedPort. The details of this communication (e.g. appropriate naming conventions) are specified in the related software specifications (SWS).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdPidServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is applicable only if the ServiceNeeds is aggregated within BswModuleDependency.

This attribute represents the length of data (in bytes) provided for this particular PID signal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdPidServiceNeeds.dataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Standardized parameter identifier (PID) according to the OBD standard specified in attribute "standard".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdPidServiceNeeds.parameterId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STANDARD" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Annotates the standard according to which the PID is given, e.g. "ISO15031-5" or "SAE J1979 Rev May 2007".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdPidServiceNeeds.standard";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ObdPidServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="OBD-PID-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a particular PID (parameter identifier) which is supported by this component or module.

In case of using a client/server communicated value, the related value shall be communicated via the port referenced by asssignedPort. The details of this communication (e.g. appropriate naming conventions) are specified in the related software specifications (SWS).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdPidServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:OBD-PID-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ObdRatioServiceNeeds -->
   <xsd:group name="OBD-RATIO-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a particular "ratio monitoring" which is supported by this component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTION-TYPE" type="AR:OBD-RATIO-CONNECTION-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines how the DEM is connected to the component or module to perform the IUMPR (In use monitor performance ratio) service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds.connectionType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IUMPR-GROUP" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>Defines the IUMPR (In use monitor performance ratio) Group of the SAE standard. Note that possible values are not predefined by an enumeration meta-type in order to make the meta-model independent of the details of the SAE standard.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds.iumprGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RATE-BASED-MONITORED-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>The rate based monitored Diagnostic Event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds.rateBasedMonitoredEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DIAGNOSTIC-EVENT-NEEDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-FID-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the primary Function Inhibition Identifier used for the rate based monitor. This is an optional attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds.usedFid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FUNCTION-INHIBITION-NEEDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-SECONDARY-FID-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the secondary Function Inhibition Identifier used for the rate based monitor. This is an optional attribute. Any of the FID inhibitions leads to an inhibition of the IUMPR calculation</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds.usedSecondaryFid";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="USED-SECONDARY-FID-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FUNCTION-INHIBITION-NEEDS--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::ObdRatioServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="OBD-RATIO-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs of a component or module on the configuration of OBD Services in relation to a particular "ratio monitoring" which is supported by this component or module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:OBD-RATIO-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class OffsetConstraint::OffsetTimingConstraint -->
   <xsd:group name="OFFSET-TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>Bounds the time offset between the occurrence of two timing events, without requiring a direct functional dependency between the source and the target.

If the target event occurs, it is expected to occur earliest with the minimum, and latest with the maximum offset relatively after the occurrence of the source event. Note: not every source event occurrence must be followed by a target event occurrence.

In contrast to LatencyTimingConstraint, there must not necessarily be a causal dependency between the source and target event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OffsetTimingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOURCE-REF">
            <xsd:annotation>
               <xsd:documentation>The timing event that the target event is to be synchronized with.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OffsetTimingConstraint.source";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REF">
            <xsd:annotation>
               <xsd:documentation>The timing event which is expected to occur timely after the source event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OffsetTimingConstraint.target";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The mimum offset the target event occurs relatively after the occurrence of the source event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OffsetTimingConstraint.minimum";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum offset the target event occurs relatively after the occurrence of the source event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OffsetTimingConstraint.maximum";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class OffsetConstraint::OffsetTimingConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="OFFSET-TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>Bounds the time offset between the occurrence of two timing events, without requiring a direct functional dependency between the source and the target.

If the target event occurs, it is expected to occur earliest with the minimum, and latest with the maximum offset relatively after the occurrence of the source event. Note: not every source event occurrence must be followed by a target event occurrence.

In contrast to LatencyTimingConstraint, there must not necessarily be a causal dependency between the source and target event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OffsetTimingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:OFFSET-TIMING-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::OperationArgumentInComponentInstanceRef -->
   <xsd:group name="OPERATION-ARGUMENT-IN-COMPONENT-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.base";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.contextPortPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-OPERATION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.contextOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-ARGUMENT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.rootArgumentDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ARGUMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::OperationArgumentInComponentInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="OPERATION-ARGUMENT-IN-COMPONENT-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationArgumentInComponentInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:OPERATION-ARGUMENT-IN-COMPONENT-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::OperationInAtomicSwcInstanceRef -->
   <xsd:group name="OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <!-- Association <<atpDerived>>contextPort skipped -->
         <!-- Association <<atpDerived>>targetOperation skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class InstanceRefs::OperationInSystemInstanceRef -->
   <xsd:group name="OPERATION-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationInSystemInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-OPERATION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationInSystemInstanceRef.targetOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::OperationInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="OPERATION-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:OPERATION-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::OperationInvokedEvent -->
   <xsd:group name="OPERATION-INVOKED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The OperationInvokedEvent references the ClientServerOperation invoked by the client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationInvokedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-IREF" type="AR:P-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The operation to be executed as the consequence of the event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OperationInvokedEvent.operation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::OperationInvokedEvent -->
   <xsd:complexType abstract="false" mixed="false" name="OPERATION-INVOKED-EVENT">
      <xsd:annotation>
         <xsd:documentation>The OperationInvokedEvent references the ClientServerOperation invoked by the client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationInvokedEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:OPERATION-INVOKED-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::OrderedMaster -->
   <xsd:group name="ORDERED-MASTER">
      <xsd:annotation>
         <xsd:documentation>Element in the network endpoint list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OrderedMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEX" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the order of the network endpoint list (e.g. 0, 1, 2, ...).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OrderedMaster.index";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNC-SERVER-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a master (Time Sync Server).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="OrderedMaster.timeSyncServer";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIME-SYNC-SERVER-CONFIGURATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::OrderedMaster -->
   <xsd:complexType abstract="false" mixed="false" name="ORDERED-MASTER">
      <xsd:annotation>
         <xsd:documentation>Element in the network endpoint list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OrderedMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ORDERED-MASTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::PModeGroupInAtomicSwcInstanceRef -->
   <xsd:group name="P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PModeGroupInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-P-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeGroupInAtomicSwcInstanceRef.contextPPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeGroupInAtomicSwcInstanceRef.targetModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::PModeGroupInAtomicSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PModeGroupInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::PModeInSystemInstanceRef -->
   <xsd:group name="P-MODE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-P-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef.contextPPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-MODE-DECLARATION-GROUP-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef.contextModeDeclarationGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef.targetMode";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::PModeInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="P-MODE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PModeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:P-MODE-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::POperationInAtomicSwcInstanceRef -->
   <xsd:group name="P-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="POperationInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-P-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="POperationInAtomicSwcInstanceRef.contextPPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-PROVIDED-OPERATION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="POperationInAtomicSwcInstanceRef.targetProvidedOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::POperationInAtomicSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="P-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="POperationInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:OPERATION-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:P-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::PPortComSpec -->
   <xsd:group name="P-PORT-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of a provided PortPrototype. This class will contain attributes that are valid for all kinds of provide ports, independent of client-server or sender-receiver communication patterns.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PPortComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class InstanceRefs::PPortInCompositionInstanceRef -->
   <xsd:group name="P-PORT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PPortInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PPortInCompositionInstanceRef.contextComponent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-P-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PPortInCompositionInstanceRef.targetPPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::PPortInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="P-PORT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PPortInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:PORT-IN-COMPOSITION-TYPE-INSTANCE-REF"/>
         <xsd:group ref="AR:P-PORT-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::PPortPrototype -->
   <xsd:group name="P-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Component port providing a certain port interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-INTERFACE-TREF">
            <xsd:annotation>
               <xsd:documentation>The interface that this port provides.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="pPort.providedInterface";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::PPortPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="P-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Component port providing a certain port interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:PORT-PROTOTYPE"/>
         <xsd:group ref="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:group ref="AR:P-PORT-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::PRPortPrototype -->
   <xsd:group name="PR-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This kind of PortPrototype can take the role of both a required and a provided PortPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PRPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-REQUIRED-INTERFACE-TREF">
            <xsd:annotation>
               <xsd:documentation>This represents the PortInterface used to type the PRPortPrototype</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PRPortPrototype.providedRequiredInterface";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::PRPortPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="PR-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This kind of PortPrototype can take the role of both a required and a provided PortPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PRPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:PORT-PROTOTYPE"/>
         <xsd:group ref="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:group ref="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:group ref="AR:PR-PORT-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::PTriggerInAtomicSwcTypeInstanceRef -->
   <xsd:group name="P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PTriggerInAtomicSwcTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-P-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PTriggerInAtomicSwcTypeInstanceRef.contextPPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-TRIGGER-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PTriggerInAtomicSwcTypeInstanceRef.targetTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::PTriggerInAtomicSwcTypeInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PTriggerInAtomicSwcTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ARPackage::PackageableElement -->
   <xsd:group name="PACKAGEABLE-ELEMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies the ability to be a member of an AUTOSAR package.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PackageableElement"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PackageableElement.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class PaginationAndView::Paginateable -->
   <xsd:group name="PAGINATEABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to control the pagination policy when creating documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Paginateable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class PaginationAndView::Paginateable -->
   <xsd:attributeGroup name="PAGINATEABLE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to control the pagination policy when creating documents.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Paginateable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="BREAK" type="AR:CHAPTER-ENUM-BREAK--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attributes allows to specify a forced page break.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Paginateable.break";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="KEEP-WITH-PREVIOUS" type="AR:KEEP-WITH-PREVIOUS-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute denotes the pagination policy. In particular it defines if the containing text block shall be kept together with the previous block.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Paginateable.keepWithPrevious";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class DataElements::ParameterAccess -->
   <xsd:group name="PARAMETER-ACCESS">
      <xsd:annotation>
         <xsd:documentation>The presence of a ParameterAccess implies that a RunnableEntity needs access to a ParameterDataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESSED-PARAMETER" type="AR:AUTOSAR-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>Refernce to the accessed calibration parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterAccess.accessedParameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>This allows denote instance and access specific properties, mainly input values and common axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterAccess.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterAccess.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataElements::ParameterAccess -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-ACCESS">
      <xsd:annotation>
         <xsd:documentation>The presence of a ParameterAccess implies that a RunnableEntity needs access to a ParameterDataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:PARAMETER-ACCESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataPrototypes::ParameterDataPrototype -->
   <xsd:group name="PARAMETER-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>A parameter element used for parameter interface and internal behavior, supporting signal like parameter and characteristic value communication patterns and parameter and characteristic value definition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies initial value(s) of the ParameterDataPrototype</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterDataPrototype.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterDataPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataPrototypes::ParameterDataPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>A parameter element used for parameter interface and internal behavior, supporting signal like parameter and characteristic value communication patterns and parameter and characteristic value definition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:DATA-PROTOTYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:group ref="AR:PARAMETER-DATA-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefsUsage::ParameterInAtomicSWCTypeInstanceRef -->
   <xsd:group name="PARAMETER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This class implements an instance reference which can be applied for variables as well as for parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInAtomicSWCTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the port providing the variable or the entry point to the variable structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInAtomicSWCTypeInstanceRef.portPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-PARAMETER-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the entry point for references into a CompositeDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInAtomicSWCTypeInstanceRef.rootParameterDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This ist the context in a compositeDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInAtomicSWCTypeInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the target of the instance ref</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInAtomicSWCTypeInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefsUsage::ParameterInAtomicSWCTypeInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This class implements an instance reference which can be applied for variables as well as for parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInAtomicSWCTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:PARAMETER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::ParameterInterface -->
   <xsd:group name="PARAMETER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A parameter interface declares a number of parameter and characteristic values to be exchanged between parameter components and software components.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="ParameterInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETERS">
            <xsd:annotation>
               <xsd:documentation>The ParameterDataPrototype of this ParameterInterface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterInterface.parameter";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-DATA-PROTOTYPE" type="AR:PARAMETER-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::ParameterInterface -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A parameter interface declares a number of parameter and characteristic values to be exchanged between parameter components and software components.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="ParameterInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:PORT-INTERFACE"/>
         <xsd:group ref="AR:DATA-INTERFACE"/>
         <xsd:group ref="AR:PARAMETER-INTERFACE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::ParameterPortAnnotation -->
   <xsd:group name="PARAMETER-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port used for calibration regarding a certain ParameterDataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>The instance of annotated ParameterDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterPortAnnotation.parameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::ParameterPortAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port used for calibration regarding a certain ParameterDataPrototype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:PARAMETER-PORT-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::ParameterProvideComSpec -->
   <xsd:group name="PARAMETER-PROVIDE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>"Communication" specification that applies to parameters on the provided side of a connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterProvideComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>The initial value applicable for the corresponding ParameterDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterProvideComSpec.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>The ParameterDataPrototype to which the ParameterComSpec applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterProvideComSpec.parameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ParameterProvideComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-PROVIDE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>"Communication" specification that applies to parameters on the provided side of a connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterProvideComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:P-PORT-COM-SPEC"/>
         <xsd:group ref="AR:PARAMETER-PROVIDE-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::ParameterRequireComSpec -->
   <xsd:group name="PARAMETER-REQUIRE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>"Communication" specification that applies to parameters on the required side of a connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterRequireComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>The initial value applicable for the corresponding ParameterDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterRequireComSpec.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>The ParameterDataPrototype to which the ParameterRequireComSpec applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterRequireComSpec.parameter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PARAMETER-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ParameterRequireComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-REQUIRE-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>"Communication" specification that applies to parameters on the required side of a connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ParameterRequireComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:R-PORT-COM-SPEC"/>
         <xsd:group ref="AR:PARAMETER-REQUIRE-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::ParameterSwComponentType -->
   <xsd:group name="PARAMETER-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ParameterSwComponentType defines parameters and characteristic values accessible via provided Ports. The provided values are the same for all connected SwComponentPrototypes</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ParameterSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSTANT-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the ConstanSpecificationMapping to be applied for the particular ParameterSwComponentType</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="constantMapping";mmt.qualifiedName="ParameterSwComponentType.constantMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSTANT-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CONSTANT-SPECIFICATION-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-TYPE-MAPPING-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the DataTypeMapping to be applied for the particular ParameterSwComponentType</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="dataTypeMapping";mmt.qualifiedName="ParameterSwComponentType.dataTypeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-TYPE-MAPPING-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:DATA-TYPE-MAPPING-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANTIATION-DATA-DEF-PROPSS">
            <xsd:annotation>
               <xsd:documentation>The purpose of this is that within the context of a given SwComponentType some  data def properties of individual instantiations can be modified. 

The aggregation of InstantiationDataDefProps is subject to variability with the  purpose to support the conditional existence of PortPrototypes
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ParameterSwComponentType.instantiationDataDefProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INSTANTIATION-DATA-DEF-PROPS" type="AR:INSTANTIATION-DATA-DEF-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::ParameterSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="PARAMETER-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The ParameterSwComponentType defines parameters and characteristic values accessible via provided Ports. The provided values are the same for all connected SwComponentPrototypes</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ParameterSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:PARAMETER-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Composition::PassThroughSwConnector -->
   <xsd:group name="PASS-THROUGH-SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This kind of SwConnector can be used inside a CompositionSwComponentType to connect two delegation PortPrototypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PassThroughSwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-OUTER-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the provided outer delegation PortPrototype of the PassThroughSwConnector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PassThroughSwConnector.providedOuterPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-PROVIDED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-OUTER-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the required outer delegation PortPrototype of the PassThroughSwConnector.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PassThroughSwConnector.requiredOuterPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Composition::PassThroughSwConnector -->
   <xsd:complexType abstract="false" mixed="false" name="PASS-THROUGH-SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This kind of SwConnector can be used inside a CompositionSwComponentType to connect two delegation PortPrototypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PassThroughSwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:SW-CONNECTOR"/>
         <xsd:group ref="AR:PASS-THROUGH-SW-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::Pdu -->
   <xsd:group name="PDU">
      <xsd:annotation>
         <xsd:documentation>Collection of all Pdus that can be routed through a bus interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Pdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Pdu length in bytes. In case of dynamic length IPdus (containing a dynamical length signal), this value indicates the maximum data length. It should be noted that in former AUTOSAR releases (Rel 2.1, Rel 3.0, Rel 3.1, Rel 4.0 Rev. 1) this parameter was defined in bits. 

The Pdu length of zero bytes is allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Pdu.length";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="META-DATA-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of additional bytes of MetaData in the PDU data field. The MetaData contains auxiliary information for the PDU, e.g. the CAN ID.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="Pdu.metaDataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="PDU--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONTAINER-I-PDU"/>
         <xsd:enumeration value="DCM-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-PDU"/>
         <xsd:enumeration value="I-PDU"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
         <xsd:enumeration value="J-1939-DCM-I-PDU"/>
         <xsd:enumeration value="MULTIPLEXED-I-PDU"/>
         <xsd:enumeration value="N-PDU"/>
         <xsd:enumeration value="NM-PDU"/>
         <xsd:enumeration value="PDU"/>
         <xsd:enumeration value="SECURED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PDU"/>
         <xsd:enumeration value="XCP-PDU"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Fibex4Multiplatform::PduMappingDefaultValue -->
   <xsd:group name="PDU-MAPPING-DEFAULT-VALUE">
      <xsd:annotation>
         <xsd:documentation>Default Value which will be distributed if no I-Pdu has been received since last sending.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduMappingDefaultValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>The default value consists of a number of elements. Each default value element is represented by the element and the position in an array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduMappingDefaultValue.defaultValueElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DEFAULT-VALUE-ELEMENT" type="AR:DEFAULT-VALUE-ELEMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::PduMappingDefaultValue -->
   <xsd:complexType abstract="false" mixed="false" name="PDU-MAPPING-DEFAULT-VALUE">
      <xsd:annotation>
         <xsd:documentation>Default Value which will be distributed if no I-Pdu has been received since last sending.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduMappingDefaultValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PDU-MAPPING-DEFAULT-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::PduToFrameMapping -->
   <xsd:group name="PDU-TO-FRAME-MAPPING">
      <xsd:annotation>
         <xsd:documentation>A PduToFrameMapping defines the composition of Pdus in each frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,atpPrototype</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PACKING-BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the order of the bytes of the Pdu and the packing into the Frame. 
Please consider that [constr_3246] and [constr_3222] are restricting the usage of this attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping.packingByteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a I-Pdu, N-Pdu or NmPdu that is transmitted in the Frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping.pdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="START-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the bitposition of a Pdu within a Frame. 

Please note that the absolute position of the Pdu in the Frame is determined by the definition of the packingByteOrder attribute. If Big Endian is specified, the start position indicates the bit position of the most significant bit in the Frame. If Little Endian is specified, the start position indicates the bit position of the least significant bit in the Frame. The bit counting in byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.

The Pdus are byte aligned in a Frame and only the values  0, 8, 16, 24,... (for little endian) and  7, 15, 23, ... (for big endian) are allowed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping.startPosition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPDATE-INDICATION-BIT-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Indication to the receivers that the corresponding Pdu was updated by the sender. 
This attribute describes the position of the update bit in the frame that aggregates this PDUToFrameMapping. Length is always one bit.

Note that the exact bit position of the updateIndicationBitPosition is linked to the value of the attribute packingByteOrder because the method of finding the bit position is different for the values mostSignificantByteFirst and mostSignificantByteLast. This means that if the value of packingByteOrder is changed while the value of updateIndicationBitPosition remains unchanged the exact bit position of updateIndicationBitPosition within the enclosing Frame still undergoes a change.

This attribute denotes the least significant bit for "Little Endian" and the most significant bit for "Big Endian" packed signals within the IPdu (see the description of the packingByteOrder attribute). In AUTOSAR the bit counting is always set to "sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping.updateIndicationBitPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::PduToFrameMapping -->
   <xsd:complexType abstract="false" mixed="false" name="PDU-TO-FRAME-MAPPING">
      <xsd:annotation>
         <xsd:documentation>A PduToFrameMapping defines the composition of Pdus in each frame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduToFrameMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,atpPrototype</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PDU-TO-FRAME-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::PduTriggering -->
   <xsd:group name="PDU-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The PduTriggering describes on which channel the IPdu is transmitted.
The Pdu routing by the PduR is only allowed for subclasses of IPdu.

Depending on its relation to entities such channels and clusters it can be unambiguously deduced whether a fan-out is handled by the Pdu router or the Bus Interface. 

If the fan-out is specified between different clusters it shall be handled by the Pdu Router. If the fan-out is specified between different channels of the same cluster it shall be handled by the Bus Interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-PORT-REFS">
            <xsd:annotation>
               <xsd:documentation>References to the IPduPort on every ECU of the system which sends and/or
receives the I-PDU.

References for both the sender and the receiver side shall be included when the system is completely defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering.iPduPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-PDU-PORT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-PDU-PORT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the Pdu for which the PduTriggering is defined. One I-Pdu can be triggered on different channels (PduR fan-out). The Pdu routing by the PduR is only allowed for subclasses of IPdu. 

Nevertheless is the reference to the Pdu element necessary since the PduTriggering element is also used to specify the sending and receiving connections to EcuPorts.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering.iPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-TRIGGERINGS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering.iSignalTriggering";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-TRIGGERING-REF-CONDITIONAL" type="AR:I-SIGNAL-TRIGGERING-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-I-PDU-SEND-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>Defines the trigger for the Com_TriggerIPDUSend API call. Only if all defined TriggerIPduSendConditions evaluate to true (AND associated) the Com_TriggerIPDUSend API shall be called.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering.triggerIPduSendCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER-I-PDU-SEND-CONDITION" type="AR:TRIGGER-I-PDU-SEND-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::PduTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="PDU-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The PduTriggering describes on which channel the IPdu is transmitted.
The Pdu routing by the PduR is only allowed for subclasses of IPdu.

Depending on its relation to entities such channels and clusters it can be unambiguously deduced whether a fan-out is handled by the Pdu router or the Bus Interface. 

If the fan-out is specified between different clusters it shall be handled by the Pdu Router. If the fan-out is specified between different channels of the same cluster it shall be handled by the Bus Interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PDU-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PDU-TRIGGERING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PDU-TRIGGERING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::PduTriggeringRefConditional -->
   <xsd:group name="PDU-TRIGGERING-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggeringRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::PduTriggeringRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="PDU-TRIGGERING-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PDU-TRIGGERING-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::PdurIPduGroup -->
   <xsd:group name="PDUR-I-PDU-GROUP">
      <xsd:annotation>
         <xsd:documentation>The AUTOSAR PduR will enable and disable the sending of configurable groups of IPdus during runtime according to the AUTOSAR PduR specification.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PdurIPduGroups";mmt.qualifiedName="PdurIPduGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-MODE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the use-case for this PduRIPduGroup. For example, in a diagnostic mode all IPdus - which are not involved in diagnostic - are disabled. The use cases are not limited to a fixed enumeration and can be specified as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PdurIPduGroup.communicationMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDUS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PdurIPduGroup.iPdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PDU-TRIGGERING-REF-CONDITIONAL" type="AR:PDU-TRIGGERING-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::PdurIPduGroup -->
   <xsd:complexType abstract="false" mixed="false" name="PDUR-I-PDU-GROUP">
      <xsd:annotation>
         <xsd:documentation>The AUTOSAR PduR will enable and disable the sending of configurable groups of IPdus during runtime according to the AUTOSAR PduR specification.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PdurIPduGroups";mmt.qualifiedName="PdurIPduGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDUR-I-PDU-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PDUR-I-PDU-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PDUR-I-PDU-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PerInstanceMemory::PerInstanceMemory -->
   <xsd:group name="PER-INSTANCE-MEMORY">
      <xsd:annotation>
         <xsd:documentation>Defines a 'C' typed memory-block that needs to be available for each instance of the SW-component.  This is typically only useful if supportsMultipleInstantiation is set to "true" or if the software-component defines NVRAM access via permanent blocks.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies initial value(s) of the PerInstanceMemory</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to to allocate RAM at specific memory sections, for example, to support the RAM Block recovery strategy by mapping to uninitialized RAM.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The name of the "C"-type</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory.type";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-DEFINITION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>A definition of the type with the syntax of a 'C' typedef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory.typeDefinition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PerInstanceMemory::PerInstanceMemory -->
   <xsd:complexType abstract="false" mixed="false" name="PER-INSTANCE-MEMORY">
      <xsd:annotation>
         <xsd:documentation>Defines a 'C' typed memory-block that needs to be available for each instance of the SW-component.  This is typically only useful if supportsMultipleInstantiation is set to "true" or if the software-component defines NVRAM access via permanent blocks.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemory"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:PER-INSTANCE-MEMORY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PER-INSTANCE-MEMORY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PER-INSTANCE-MEMORY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SwcImplementation::PerInstanceMemorySize -->
   <xsd:group name="PER-INSTANCE-MEMORY-SIZE">
      <xsd:annotation>
         <xsd:documentation>Resources needed by the allocation of PerInstanceMemory for each SWC instance. Note that these resources are not covered by an ObjectFileSection, because they are supposed to be allocated by the RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemorySize"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIGNMENT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Required alignment (1,2,4,...) of the referenced PerInstanceMemory.  Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemorySize.alignment";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PER-INSTANCE-MEMORY-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the referenced PerInstanceMemory.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemorySize.perInstanceMemory";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PER-INSTANCE-MEMORY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Size (in bytes) of the reference perInstanceMemory.
The aggregation of PerInstanceMemorySize is subject to variability with the purpose to support variability in the software components implementations. Different algorithms in the implementation might require a different PerInstanceMemorySize.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemorySize.size";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemorySize.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcImplementation::PerInstanceMemorySize -->
   <xsd:complexType abstract="false" mixed="false" name="PER-INSTANCE-MEMORY-SIZE">
      <xsd:annotation>
         <xsd:documentation>Resources needed by the allocation of PerInstanceMemory for each SWC instance. Note that these resources are not covered by an ObjectFileSection, because they are supposed to be allocated by the RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PerInstanceMemorySize"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PER-INSTANCE-MEMORY-SIZE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EventTriggeringConstraint::PeriodicEventTriggering -->
   <xsd:group name="PERIODIC-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The PeriodicEventTriggering describes the behavior of an event with a strict periodic occurrence pattern, given by the period attribute.

Additionally, it is possible to soften the strictness of the periodic occurrence behavior by specifying a jitter, so that there can be a deviation from the period up to the size of the jitter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PeriodicEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-INTER-ARRIVAL-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum time distance between two consecutive occurrences of the associated event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PeriodicEventTriggering.minimumInterArrivalTime";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="JITTER" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum jitter of the periodic event occurrence.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PeriodicEventTriggering.jitter";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The period of the event occurrence.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PeriodicEventTriggering.period";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EventTriggeringConstraint::PeriodicEventTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="PERIODIC-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The PeriodicEventTriggering describes the behavior of an event with a strict periodic occurrence pattern, given by the period attribute.

Additionally, it is possible to soften the strictness of the periodic occurrence behavior by specifying a jitter, so that there can be a deviation from the period up to the size of the jitter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PeriodicEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:group ref="AR:PERIODIC-EVENT-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SignalPaths::PermissibleSignalPath -->
   <xsd:group name="PERMISSIBLE-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The PermissibleSignalPath describes the way a data element shall take in the topology. The path is described by ordered references to PhysicalChannels. 

If more than one PermissibleSignalPath is defined for the same
signal/operation attributes, any of them can be chosen. Such a signal path can be a constraint for the communication matrix . This path describes that one data element should take path A (e.g. 1. CAN channel, 2. LIN channel) 
and not path B (1. CAN channel, FlexRay channel A). 

This has an effect on the frame generation and the frame path.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PermissibleSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATIONS">
            <xsd:annotation>
               <xsd:documentation>The arguments of an operation that can take the predefined way in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PermissibleSignalPath.operation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-OPERATION-ARGUMENTS" type="AR:SWC-TO-SWC-OPERATION-ARGUMENTS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-CHANNEL-REFS">
            <xsd:annotation>
               <xsd:documentation>The SwcToSwcSignal can be transmitted on one of these physical channels.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PermissibleSignalPath.physicalChannel";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PHYSICAL-CHANNEL-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNALS">
            <xsd:annotation>
               <xsd:documentation>The data element which can take the predefined way in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PermissibleSignalPath.signal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-SIGNAL" type="AR:SWC-TO-SWC-SIGNAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SignalPaths::PermissibleSignalPath -->
   <xsd:complexType abstract="false" mixed="false" name="PERMISSIBLE-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The PermissibleSignalPath describes the way a data element shall take in the topology. The path is described by ordered references to PhysicalChannels. 

If more than one PermissibleSignalPath is defined for the same
signal/operation attributes, any of them can be chosen. Such a signal path can be a constraint for the communication matrix . This path describes that one data element should take path A (e.g. 1. CAN channel, 2. LIN channel) 
and not path B (1. CAN channel, FlexRay channel A). 

This has an effect on the frame generation and the frame path.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PermissibleSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SIGNAL-PATH-CONSTRAINT"/>
         <xsd:group ref="AR:PERMISSIBLE-SIGNAL-PATH"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GlobalConstraints::PhysConstrs -->
   <xsd:group name="PHYS-CONSTRS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express physical constraints. Therefore it has (in opposite to InternalConstrs) a reference to a Unit.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the lower limit of the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.lowerLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the upper limit of the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.upperLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCALE-CONSTRS">
            <xsd:annotation>
               <xsd:documentation>This is one particular scale which contributes to the data constraints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.scaleConstr";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="40";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SCALE-CONSTR" type="AR:SCALE-CONSTR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-GRADIENT" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This element specifies the maximum slope that may be used in curves and maps.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.maxGradient";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DIFF" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>Maximum difference that is permitted between two consecutive values if the constraint is applied to an axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.maxDiff";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MONOTONY" type="AR:MONOTONY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This specifies the monotony constraints on the data object. Note that this applies only to curves and maps.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.monotony";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This is the unit to which the physical constraints relate to. In particular, it is the physical unit of the specified limits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GlobalConstraints::PhysConstrs -->
   <xsd:complexType abstract="false" mixed="false" name="PHYS-CONSTRS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express physical constraints. Therefore it has (in opposite to InternalConstrs) a reference to a Unit.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PhysConstrs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PHYS-CONSTRS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreTopology::PhysicalChannel -->
   <xsd:group name="PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>A physical channel is the transmission medium that is used to send and receive information between communicating ECUs. Each CommunicationCluster has at least one physical channel. Bus systems like CAN and LIN only have exactly one PhysicalChannel. A FlexRay cluster may have more than one PhysicalChannels that may be used in parallel for redundant communication.

An ECU is part of a cluster if it contains at least one controller that is connected to at least one channel of the cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMM-CONNECTORS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalChannel.commConnector";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMMUNICATION-CONNECTOR-REF-CONDITIONAL" type="AR:COMMUNICATION-CONNECTOR-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-TRIGGERINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="PhysicalChannel.frameTriggering";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CAN-FRAME-TRIGGERING" type="AR:CAN-FRAME-TRIGGERING"/>
                  <xsd:element name="ETHERNET-FRAME-TRIGGERING" type="AR:ETHERNET-FRAME-TRIGGERING"/>
                  <xsd:element name="FLEXRAY-FRAME-TRIGGERING" type="AR:FLEXRAY-FRAME-TRIGGERING"/>
                  <xsd:element name="LIN-FRAME-TRIGGERING" type="AR:LIN-FRAME-TRIGGERING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-TRIGGERINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="PhysicalChannel.iSignalTriggering";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="I-SIGNAL-TRIGGERING" type="AR:I-SIGNAL-TRIGGERING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-TRIGGERINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="PhysicalChannel.pduTriggering";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PDU-TRIGGERING" type="AR:PDU-TRIGGERING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalChannel.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="PHYSICAL-CHANNEL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-CAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="CAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="ETHERNET-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="FLEXRAY-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="LIN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="TTCAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="USER-DEFINED-PHYSICAL-CHANNEL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Units::PhysicalDimension -->
   <xsd:group name="PHYSICAL-DIMENSION">
      <xsd:annotation>
         <xsd:documentation>This class represents a physical dimension.
If the physical dimension of two units is identical, then a conversion between them is possible. The conversion between units is related to the definition of the physical dimension.

Note that the equivalence of the exponents does not per se define the convertibility. For example Energy and Torque share the same exponents (Nm).

Please note further the value of an exponent does not necessarily have to be an integer number. It is also possible that the value yields a rational number, e.g. to compute the square root of a given physical quantity. In this case the exponent value would be a rational number where the numerator value is 1 and the denominator value is 2.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PhysicalDimensions";mmt.qualifiedName="PhysicalDimension"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LENGTH-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The exponent of the physical dimension "length".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.lengthExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASS-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The exponent of the physical dimension "mass".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.massExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The exponent of the physical dimension "time".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.timeExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CURRENT-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the exponent of the physical dimension "electric current".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.currentExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEMPERATURE-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The exponent of the physical dimension "temperature".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.temperatureExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MOLAR-AMOUNT-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The exponent of the physical dimension "quantity of substance".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.molarAmountExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LUMINOUS-INTENSITY-EXP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The exponent of the physical dimension "luminous intensity".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimension.luminousIntensityExp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Units::PhysicalDimension -->
   <xsd:complexType abstract="false" mixed="false" name="PHYSICAL-DIMENSION">
      <xsd:annotation>
         <xsd:documentation>This class represents a physical dimension.
If the physical dimension of two units is identical, then a conversion between them is possible. The conversion between units is related to the definition of the physical dimension.

Note that the equivalence of the exponents does not per se define the convertibility. For example Energy and Torque share the same exponents (Nm).

Please note further the value of an exponent does not necessarily have to be an integer number. It is also possible that the value yields a rational number, e.g. to compute the square root of a given physical quantity. In this case the exponent value would be a rational number where the numerator value is 1 and the denominator value is 2.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PhysicalDimensions";mmt.qualifiedName="PhysicalDimension"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:PHYSICAL-DIMENSION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PHYSICAL-DIMENSION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PHYSICAL-DIMENSION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Units::PhysicalDimensionMapping -->
   <xsd:group name="PHYSICAL-DIMENSION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This class represents a specific mapping between two PhysicalDimensions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimensionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-PHYSICAL-DIMENSION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the first PhysicalDimension of the enclosing PhysicalDimensionMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimensionMapping.firstPhysicalDimension";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PHYSICAL-DIMENSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-PHYSICAL-DIMENSION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the first PhysicalDimension of the enclosing PhysicalDimensionMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimensionMapping.secondPhysicalDimension";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PHYSICAL-DIMENSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Units::PhysicalDimensionMapping -->
   <xsd:complexType abstract="false" mixed="false" name="PHYSICAL-DIMENSION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This class represents a specific mapping between two PhysicalDimensions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimensionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PHYSICAL-DIMENSION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Units::PhysicalDimensionMappingSet -->
   <xsd:group name="PHYSICAL-DIMENSION-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This class represents a container for a list of mappings between PhysicalDimensions.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PhysicalDimensionMappingSets";mmt.qualifiedName="PhysicalDimensionMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-DIMENSION-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This aggregation represents a concrete collections of PhysicalDimensionMappings in the context of one PhysicalDimensionMappingSet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PhysicalDimensionMappingSet.physicalDimensionMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PHYSICAL-DIMENSION-MAPPING" type="AR:PHYSICAL-DIMENSION-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Units::PhysicalDimensionMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="PHYSICAL-DIMENSION-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>This class represents a container for a list of mappings between PhysicalDimensions.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PhysicalDimensionMappingSets";mmt.qualifiedName="PhysicalDimensionMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:PHYSICAL-DIMENSION-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PncMapping::PncMapping -->
   <xsd:group name="PNC-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Describes a mapping between one or several Virtual Function Clusters onto Partial Network Clusters. A Virtual Function Cluster is realized by a PortGroup. A Partial Network Cluster is realized by one or more IPduGroups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:PNC-MAPPING-IDENT">
            <xsd:annotation>
               <xsd:documentation>This adds the ability to become referrable to PncMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>IPduGroup participating in a Partial Network Cluster. This reference is optional in case an ecu extract has only indirect pnc access, i.e. ecu is not directly conntected to a network which supports partial network.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.pncGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PNC-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Identifer of the Partial Network Cluster. This number represents the absolute bit position of this Partial Network Cluster in the NM Pdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.pncIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies an identifying shortName for the PncMapping. It shall be unique in the System scope.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VFC-IREFS">
            <xsd:annotation>
               <xsd:documentation>Virtual Function Cluster to be mapped onto a Partial Network Cluster. This reference is optional in case that the System Description doesn't use a complete Software Component Description (VFB View). This supports the inclusion of legacy systems.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.vfc";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VFC-IREF" type="AR:PORT-GROUP-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAKEUP-FRAME-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to collection of FrameTriggerings that are used for the wakeup of this PNC (Application Frames or Nm Frames can be used). This reference is optional in case an ecu extract has only indirect pnc access, i.e. ecu is not directly conntected to a network which supports partial network.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.wakeupFrame";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="WAKEUP-FRAME-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PncMapping::PncMapping -->
   <xsd:complexType abstract="false" mixed="false" name="PNC-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Describes a mapping between one or several Virtual Function Clusters onto Partial Network Clusters. A Virtual Function Cluster is realized by a PortGroup. A Partial Network Cluster is realized by one or more IPduGroups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PncMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:PNC-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PncMapping::PncMappingIdent -->
   <xsd:group name="PNC-MAPPING-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable PncMapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PncMappingIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class PncMapping::PncMappingIdent -->
   <xsd:complexType abstract="false" mixed="false" name="PNC-MAPPING-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable PncMapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PncMappingIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:PNC-MAPPING-IDENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="PNC-MAPPING-IDENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PNC-MAPPING-IDENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PortAPIOptions::PortAPIOption -->
   <xsd:group name="PORT-API-OPTION">
      <xsd:annotation>
         <xsd:documentation>Options how to generate the signatures of calls for an AtomicSwComponentType in order to communicate over a PortPrototype (for calls into a RunnableEntity as well as for calls from a RunnableEntity to the PortPrototype).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-TAKE-ADDRESS" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true, the software-component is able to use the API reference for deriving a pointer to an object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.enableTakeAddress";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ERROR-HANDLING" type="AR:DATA-TRANSFORMATION-ERROR-HANDLING-ENUM">
            <xsd:annotation>
               <xsd:documentation>This specifies whether the RunnableEntitys which access a PortPrototype that it referenced by this PortAPIOption shall specifically handle transformer errors or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.errorHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDIRECT-API" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true this attribute specifies an "indirect API" to be generated for the associated port which means that the SWC is able to access the actions on a port via a pointer to an object representing a port. This allows e.g. iterating over ports in a loop. This option has no effect for PPortPrototypes of client/server interfaces.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.indirectAPI";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-ARG-VALUES">
            <xsd:annotation>
               <xsd:documentation>An argument value defined by this port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.portArgValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PORT-DEFINED-ARGUMENT-VALUE" type="AR:PORT-DEFINED-ARGUMENT-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-REF">
            <xsd:annotation>
               <xsd:documentation>The option is valid for generated functions related to communication over this port</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.port";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORTED-FEATURES">
            <xsd:annotation>
               <xsd:documentation>This collection specifies which features are supported by the RunnableEntitys which access a PortPrototype that it referenced by this PortAPIOption.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.supportedFeature";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMMUNICATION-BUFFER-LOCKING" type="AR:COMMUNICATION-BUFFER-LOCKING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortAPIOptions::PortAPIOption -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-API-OPTION">
      <xsd:annotation>
         <xsd:documentation>Options how to generate the signatures of calls for an AtomicSwComponentType in order to communicate over a PortPrototype (for calls into a RunnableEntity as well as for calls from a RunnableEntity to the PortPrototype).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortAPIOption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PORT-API-OPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ClientServerInterfaceToBswModuleEntryMapping::PortDefinedArgumentBlueprint -->
   <xsd:group name="PORT-DEFINED-ARGUMENT-BLUEPRINT">
      <xsd:annotation>
         <xsd:documentation>This class describes a Blueprint of a PortDefinedArgument which needs to be defined in the SwcInternalBehavior of the component implementing the server of the ClientServerInterface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentBlueprint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-MAPPING-GUIDE" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This attribute offers the possibility to provide additional information with respect to the mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentBlueprint.blueprintMappingGuide";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>The implementation type of this argument value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentBlueprint.valueType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentBlueprint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ClientServerInterfaceToBswModuleEntryMapping::PortDefinedArgumentBlueprint -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-DEFINED-ARGUMENT-BLUEPRINT">
      <xsd:annotation>
         <xsd:documentation>This class describes a Blueprint of a PortDefinedArgument which needs to be defined in the SwcInternalBehavior of the component implementing the server of the ClientServerInterface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentBlueprint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PORT-DEFINED-ARGUMENT-BLUEPRINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortAPIOptions::PortDefinedArgumentValue -->
   <xsd:group name="PORT-DEFINED-ARGUMENT-VALUE">
      <xsd:annotation>
         <xsd:documentation>A PortDefinedArgumentValue is passed to a RunnableEntity dealing with the ClientServerOperations provided by a given PortPrototype. Note that this is restricted to PPortPrototypes of a ClientServerInterface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the actual value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-TYPE-TREF">
            <xsd:annotation>
               <xsd:documentation>The implementation type of this argument value. It should not be composite type or a pointer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentValue.valueType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortAPIOptions::PortDefinedArgumentValue -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-DEFINED-ARGUMENT-VALUE">
      <xsd:annotation>
         <xsd:documentation>A PortDefinedArgumentValue is passed to a RunnableEntity dealing with the ClientServerOperations provided by a given PortPrototype. Note that this is restricted to PPortPrototypes of a ClientServerInterface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortDefinedArgumentValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PORT-DEFINED-ARGUMENT-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::PortGroup -->
   <xsd:group name="PORT-GROUP">
      <xsd:annotation>
         <xsd:documentation>Group of ports which share a common functionality, e.g. need specific network resources. This information shall be available on the VFB level in order to delegate it properly via compositions. When propagated into the ECU extract, this information is used as input for the configuration of Services like the Communication Manager. A PortGroup is defined locally in a component (which can be a composition) and refers to the "outer" ports belonging to the group as well as to the "inner" groups which propagate  this group into the components which are part of a composition. A PortGroup within an atomic SWC cannot be linked to inner groups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INNER-GROUP-IREFS">
            <xsd:annotation>
               <xsd:documentation>Links a PortGroup in a composition to another PortGroup, that is defined in a component which is part of this CompositionSwComponentType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortGroup.innerGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INNER-GROUP-IREF" type="AR:INNER-PORT-GROUP-IN-COMPOSITION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OUTER-PORTS">
            <xsd:annotation>
               <xsd:documentation>Outer PortPrototype of this AtomicSwComponentType which belongs to the group. A port can belong to several groups or to no group at all.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortGroup.outerPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PORT-PROTOTYPE-REF-CONDITIONAL" type="AR:PORT-PROTOTYPE-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortGroup.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::PortGroup -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-GROUP">
      <xsd:annotation>
         <xsd:documentation>Group of ports which share a common functionality, e.g. need specific network resources. This information shall be available on the VFB level in order to delegate it properly via compositions. When propagated into the ECU extract, this information is used as input for the configuration of Services like the Communication Manager. A PortGroup is defined locally in a component (which can be a composition) and refers to the "outer" ports belonging to the group as well as to the "inner" groups which propagate  this group into the components which are part of a composition. A PortGroup within an atomic SWC cannot be linked to inner groups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:PORT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PORT-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PORT-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefs::PortGroupInSystemInstanceRef -->
   <xsd:group name="PORT-GROUP-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortGroupInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortGroupInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortGroupInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REF">
            <xsd:annotation>
               <xsd:documentation>Link to a PortGroup that is defined in a component which is part of this CompositionSwComponentType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortGroupInSystemInstanceRef.target";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::PortGroupInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-GROUP-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortGroupInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:PORT-GROUP-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::PortInCompositionTypeInstanceRef -->
   <xsd:group name="PORT-IN-COMPOSITION-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortInCompositionTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <!-- Association <<atpDerived>>abstractContextComponent skipped -->
         <!-- Association <<atpDerived>>targetPort skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class PortInterface::PortInterface -->
   <xsd:group name="PORT-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>Abstract base class for an interface that is either provided or required by a port of a  software component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-SERVICE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This flag is set if the PortInterface is to be used for
communication between an
* ApplicationSwComponentType or
* ServiceProxySwComponentType or
* SensorActuatorSwComponentType or
* ComplexDeviceDriverSwComponentType
* ServiceSwComponentType
* EcuAbstractionSwComponentType

and a ServiceSwComponentType (namely an
AUTOSAR Service) located on the same ECU.
Otherwise the flag is not set.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortInterface.isService";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-KIND" type="AR:SERVICE-PROVIDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute provides further details about the nature of the applied service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortInterface.serviceKind";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="PORT-INTERFACE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PortInterfaceBlueprint::PortInterfaceBlueprintMapping -->
   <xsd:group name="PORT-INTERFACE-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map two PortInterfaces of which one acts as the blueprint for the other.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="PortInterfaceBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-INTERFACE-BLUEPRINT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the interface blueprint. Note that this interface needs to live in a package of category BLUEPRINT.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortInterfaceBlueprintMapping.portInterfaceBlueprint";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DERIVED-PORT-INTERFACE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the derived interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortInterfaceBlueprintMapping.derivedPortInterface";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterfaceBlueprint::PortInterfaceBlueprintMapping -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-INTERFACE-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map two PortInterfaces of which one acts as the blueprint for the other.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="PortInterfaceBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT-MAPPING"/>
         <xsd:group ref="AR:PORT-INTERFACE-BLUEPRINT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::PortInterfaceMapping -->
   <xsd:group name="PORT-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Specifies one PortInterfaceMapping to support the connection of Ports typed by two different PortInterfaces with PortInterface elements having unequal names and/or unequal semantic (resolution or range).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortInterfaceMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="PORT-INTERFACE-MAPPING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="MODE-INTERFACE-MAPPING"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING"/>
         <xsd:enumeration value="TRIGGER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PortInterface::PortInterfaceMappingSet -->
   <xsd:group name="PORT-INTERFACE-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>Specifies a set of (one or more) PortInterfaceMappings.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaceMappingSets";mmt.qualifiedName="PortInterfaceMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-INTERFACE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Specifies one PortInterfaceMapping to support the connection of Ports typed by two different PortInterfaces with PortInterface elements having unequal names and/or unequal semantic (resolution or range).
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortInterfaceMappingSet.portInterfaceMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-INTERFACE-MAPPING" type="AR:CLIENT-SERVER-INTERFACE-MAPPING"/>
                  <xsd:element name="MODE-INTERFACE-MAPPING" type="AR:MODE-INTERFACE-MAPPING"/>
                  <xsd:element name="TRIGGER-INTERFACE-MAPPING" type="AR:TRIGGER-INTERFACE-MAPPING"/>
                  <xsd:element name="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING" type="AR:VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::PortInterfaceMappingSet -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-INTERFACE-MAPPING-SET">
      <xsd:annotation>
         <xsd:documentation>Specifies a set of (one or more) PortInterfaceMappings.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaceMappingSets";mmt.qualifiedName="PortInterfaceMappingSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:PORT-INTERFACE-MAPPING-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::PortPrototype -->
   <xsd:group name="PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Base class for the ports of an AUTOSAR software component.

The aggregation of PortPrototypes is subject to variability with the purpose to support the conditional existence of ports.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVER-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Annotation of this PortPrototype with respect to client/server communication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.clientServerAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-ANNOTATION" type="AR:CLIENT-SERVER-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DELEGATED-PORT-ANNOTATION" type="AR:DELEGATED-PORT-ANNOTATION">
            <xsd:annotation>
               <xsd:documentation>Annotations on this delegated port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.delegatedPortAnnotation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IO-HW-ABSTRACTION-SERVER-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Annotations on this IO Hardware Abstraction port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.ioHwAbstractionServerAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="IO-HW-ABSTRACTION-SERVER-ANNOTATION" type="AR:IO-HW-ABSTRACTION-SERVER-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-PORT-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Annotations on this mode port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.modePortAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-PORT-ANNOTATION" type="AR:MODE-PORT-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NV-DATA-PORT-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Annotations on this non voilatile data port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.nvDataPortAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="NV-DATA-PORT-ANNOTATION" type="AR:NV-DATA-PORT-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-PORT-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Annotations on this parameter port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.parameterPortAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-PORT-ANNOTATION" type="AR:PARAMETER-PORT-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SENDER-RECEIVER-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Collection of annotations of this ports sender/receiver communication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.senderReceiverAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RECEIVER-ANNOTATION" type="AR:RECEIVER-ANNOTATION"/>
                  <xsd:element name="SENDER-ANNOTATION" type="AR:SENDER-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-PORT-ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>Annotations on this trigger port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.triggerPortAnnotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER-PORT-ANNOTATION" type="AR:TRIGGER-PORT-ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="PORT-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PORT-PROTOTYPE"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PortProtoypeBlueprint::PortPrototypeBlueprint -->
   <xsd:group name="PORT-PROTOTYPE-BLUEPRINT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a blueprint of a PortPrototype by referring to a particular PortInterface. This blueprint can then be used as a guidance to create particular PortPrototypes which are defined according to this blueprint. By this it is possible to standardize application interfaces without the need to also standardize software-components with PortPrototypes typed by the standardized PortInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortPrototypeBlueprints";mmt.qualifiedName="PortPrototypeBlueprint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUES">
            <xsd:annotation>
               <xsd:documentation>This specifies the init values for the dataElements in the particular PortPrototypeBlueprint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprint.initValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PORT-PROTOTYPE-BLUEPRINT-INIT-VALUE" type="AR:PORT-PROTOTYPE-BLUEPRINT-INIT-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERFACE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the interface for which the blueprint is defined. It may be a blueprint itself  or a standardized PortInterface</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprint.interface";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROVIDED-COM-SPECS">
            <xsd:annotation>
               <xsd:documentation>Provided communication attributes per interface element (data element or operation).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprint.providedComSpec";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-SWITCH-SENDER-COM-SPEC" type="AR:MODE-SWITCH-SENDER-COM-SPEC"/>
                  <xsd:element name="NONQUEUED-SENDER-COM-SPEC" type="AR:NONQUEUED-SENDER-COM-SPEC"/>
                  <xsd:element name="NV-PROVIDE-COM-SPEC" type="AR:NV-PROVIDE-COM-SPEC"/>
                  <xsd:element name="PARAMETER-PROVIDE-COM-SPEC" type="AR:PARAMETER-PROVIDE-COM-SPEC"/>
                  <xsd:element name="QUEUED-SENDER-COM-SPEC" type="AR:QUEUED-SENDER-COM-SPEC"/>
                  <xsd:element name="SERVER-COM-SPEC" type="AR:SERVER-COM-SPEC"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-COM-SPECS">
            <xsd:annotation>
               <xsd:documentation>Required communication attributes, one for each interface element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprint.requiredComSpec";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-COM-SPEC" type="AR:CLIENT-COM-SPEC"/>
                  <xsd:element name="MODE-SWITCH-RECEIVER-COM-SPEC" type="AR:MODE-SWITCH-RECEIVER-COM-SPEC"/>
                  <xsd:element name="NONQUEUED-RECEIVER-COM-SPEC" type="AR:NONQUEUED-RECEIVER-COM-SPEC"/>
                  <xsd:element name="NV-REQUIRE-COM-SPEC" type="AR:NV-REQUIRE-COM-SPEC"/>
                  <xsd:element name="PARAMETER-REQUIRE-COM-SPEC" type="AR:PARAMETER-REQUIRE-COM-SPEC"/>
                  <xsd:element name="QUEUED-RECEIVER-COM-SPEC" type="AR:QUEUED-RECEIVER-COM-SPEC"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortProtoypeBlueprint::PortPrototypeBlueprint -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-PROTOTYPE-BLUEPRINT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a blueprint of a PortPrototype by referring to a particular PortInterface. This blueprint can then be used as a guidance to create particular PortPrototypes which are defined according to this blueprint. By this it is possible to standardize application interfaces without the need to also standardize software-components with PortPrototypes typed by the standardized PortInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortPrototypeBlueprints";mmt.qualifiedName="PortPrototypeBlueprint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:PORT-PROTOTYPE-BLUEPRINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PORT-PROTOTYPE-BLUEPRINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class PortProtoypeBlueprint::PortPrototypeBlueprintInitValue -->
   <xsd:group name="PORT-PROTOTYPE-BLUEPRINT-INIT-VALUE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express init values in PortPrototypeBlueprints. These init values act as a kind of blueprint from which for example proper ComSpecs can be derived.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprintInitValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the data prototype for which the init value applies</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprintInitValue.dataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE">
            <xsd:annotation>
               <xsd:documentation>This is the init value for the particular data prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprintInitValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortProtoypeBlueprint::PortPrototypeBlueprintInitValue -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-PROTOTYPE-BLUEPRINT-INIT-VALUE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express init values in PortPrototypeBlueprints. These init values act as a kind of blueprint from which for example proper ComSpecs can be derived.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprintInitValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PORT-PROTOTYPE-BLUEPRINT-INIT-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortProtoypeBlueprint::PortPrototypeBlueprintMapping -->
   <xsd:group name="PORT-PROTOTYPE-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a PortPrototypeBlueprint to a PortProtoype of which one acts as the blueprint for the other.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="PortPrototypeBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-BLUEPRINT-REF">
            <xsd:annotation>
               <xsd:documentation>The PortPrototypeBlueprint in the context of the mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprintMapping.portPrototypeBlueprint";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpUriDef</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE-BLUEPRINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DERIVED-PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>The PortPrototype in the context of the mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeBlueprintMapping.derivedPortPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortProtoypeBlueprint::PortPrototypeBlueprintMapping -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-PROTOTYPE-BLUEPRINT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a PortPrototypeBlueprint to a PortProtoype of which one acts as the blueprint for the other.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="PortPrototypeBlueprintMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT-MAPPING"/>
         <xsd:group ref="AR:PORT-PROTOTYPE-BLUEPRINT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::PortPrototypeRefConditional -->
   <xsd:group name="PORT-PROTOTYPE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototypeRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::PortPrototypeRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="PORT-PROTOTYPE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PORT-PROTOTYPE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class AttributeValueVariationPoints::PositiveIntegerValueVariationPoint -->
   <xsd:group name="POSITIVE-INTEGER-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for positive Integer attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PositiveIntegerValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::PositiveIntegerValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="POSITIVE-INTEGER-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for positive Integer attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PositiveIntegerValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::PossibleErrorReaction -->
   <xsd:group name="POSSIBLE-ERROR-REACTION">
      <xsd:annotation>
         <xsd:documentation>Describes a possible error reaction code for the transient fault handler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PossibleErrorReaction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REACTION-CODE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Fault reaction code which can be returned by transient fault handler.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PossibleErrorReaction.reactionCode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::PossibleErrorReaction -->
   <xsd:complexType abstract="false" mixed="false" name="POSSIBLE-ERROR-REACTION">
      <xsd:annotation>
         <xsd:documentation>Describes a possible error reaction code for the transient fault handler.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PossibleErrorReaction"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:POSSIBLE-ERROR-REACTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::PostBuildVariantCondition -->
   <xsd:group name="POST-BUILD-VARIANT-CONDITION">
      <xsd:annotation>
         <xsd:documentation>This class specifies the value which must be assigned to a particular variant criterion in order to bind the variation point. If multiple criterion/value pairs are specified, they shall all match to bind the variation point.

In other words binding can be represented by

  (criterion1 == value1) &amp;&amp; (condition2 == value2) ...</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MATCHING-CRITERION-REF">
            <xsd:annotation>
               <xsd:documentation>This is the criterion which needs to match the value in order to make the PostbuildVariantCondition to be true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCondition.matchingCriterion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:POST-BUILD-VARIANT-CRITERION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This is the particular value of the post-build variant criterion.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCondition.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::PostBuildVariantCondition -->
   <xsd:complexType abstract="false" mixed="false" name="POST-BUILD-VARIANT-CONDITION">
      <xsd:annotation>
         <xsd:documentation>This class specifies the value which must be assigned to a particular variant criterion in order to bind the variation point. If multiple criterion/value pairs are specified, they shall all match to bind the variation point.

In other words binding can be represented by

  (criterion1 == value1) &amp;&amp; (condition2 == value2) ...</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:POST-BUILD-VARIANT-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::PostBuildVariantCriterion -->
   <xsd:group name="POST-BUILD-VARIANT-CRITERION">
      <xsd:annotation>
         <xsd:documentation>This class specifies one particular PostBuildVariantSelector.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PostBuildVariantCriterions";mmt.qualifiedName="PostBuildVariantCriterion"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-METHOD-REF">
            <xsd:annotation>
               <xsd:documentation>The compuMethod specifies the possible values for the variant criterion serving as an enumerator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterion.compuMethod";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMPU-METHOD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::PostBuildVariantCriterion -->
   <xsd:complexType abstract="false" mixed="false" name="POST-BUILD-VARIANT-CRITERION">
      <xsd:annotation>
         <xsd:documentation>This class specifies one particular PostBuildVariantSelector.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PostBuildVariantCriterions";mmt.qualifiedName="PostBuildVariantCriterion"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:POST-BUILD-VARIANT-CRITERION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="POST-BUILD-VARIANT-CRITERION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class VariantHandling::PostBuildVariantCriterionValue -->
   <xsd:group name="POST-BUILD-VARIANT-CRITERION-VALUE">
      <xsd:annotation>
         <xsd:documentation>This class specifies a the value which must be assigned to a particular variant criterion in order to bind the variation point. If multiple criterion/value pairs are specified, they all must must match to bind the variation point.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterionValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIANT-CRITERION-REF">
            <xsd:annotation>
               <xsd:documentation>This association selects the variant criterion whose value is specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterionValue.variantCriterion";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:POST-BUILD-VARIANT-CRITERION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This is the particular value of the post-build variant criterion.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterionValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>This provides the ability to add information why the value is set like it is.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterionValue.annotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANNOTATION" type="AR:ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::PostBuildVariantCriterionValue -->
   <xsd:complexType abstract="false" mixed="false" name="POST-BUILD-VARIANT-CRITERION-VALUE">
      <xsd:annotation>
         <xsd:documentation>This class specifies a the value which must be assigned to a particular variant criterion in order to bind the variation point. If multiple criterion/value pairs are specified, they all must must match to bind the variation point.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterionValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:POST-BUILD-VARIANT-CRITERION-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::PostBuildVariantCriterionValueSet -->
   <xsd:group name="POST-BUILD-VARIANT-CRITERION-VALUE-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote one set of postBuildVariantCriterionValues.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PostBuildVariantCriterionValueSets";mmt.qualifiedName="PostBuildVariantCriterionValueSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-CRITERION-VALUES">
            <xsd:annotation>
               <xsd:documentation>This is is one particular postbuild variant criterion/value pair being part of the PostBuildVariantSet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PostBuildVariantCriterionValueSet.postBuildVariantCriterionValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POST-BUILD-VARIANT-CRITERION-VALUE" type="AR:POST-BUILD-VARIANT-CRITERION-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::PostBuildVariantCriterionValueSet -->
   <xsd:complexType abstract="false" mixed="false" name="POST-BUILD-VARIANT-CRITERION-VALUE-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote one set of postBuildVariantCriterionValues.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PostBuildVariantCriterionValueSets";mmt.qualifiedName="PostBuildVariantCriterionValueSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:POST-BUILD-VARIANT-CRITERION-VALUE-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="POST-BUILD-VARIANT-CRITERION-VALUE-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION-VALUE-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Chapters::PredefinedChapter -->
   <xsd:group name="PREDEFINED-CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This represents a predefined chapter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PredefinedChapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:CHAPTER-MODEL"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Chapters::PredefinedChapter -->
   <xsd:complexType abstract="false" mixed="false" name="PREDEFINED-CHAPTER">
      <xsd:annotation>
         <xsd:documentation>This represents a predefined chapter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PredefinedChapter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PREDEFINED-CHAPTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::PredefinedVariant -->
   <xsd:group name="PREDEFINED-VARIANT">
      <xsd:annotation>
         <xsd:documentation>This specifies one predefined variant. It is characterized by the union of all system constant values and post-build variant criterion values aggregated within all referenced system constant value sets and post build variant criterion value sets plus the value sets of the included variants.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PredefinedVariants";mmt.qualifiedName="PredefinedVariant"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INCLUDED-VARIANT-REFS">
            <xsd:annotation>
               <xsd:documentation>The associated variants are considered part of this PredefinedVariant. This means the settings of the included variants are included in the settings of the referencing PredefinedVariant. Nevertheless the included variants might be included in several predefined variants.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PredefinedVariant.includedVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INCLUDED-VARIANT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PREDEFINED-VARIANT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-CRITERION-VALUE-SET-REFS">
            <xsd:annotation>
               <xsd:documentation>This is the postBuildVariantCriterionValueSet contributing to the predefinded variant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PredefinedVariant.postBuildVariantCriterionValueSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POST-BUILD-VARIANT-CRITERION-VALUE-SET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:POST-BUILD-VARIANT-CRITERION-VALUE-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-SYSTEMCONSTANT-VALUE-SET-REFS">
            <xsd:annotation>
               <xsd:documentation>This ist the set of Systemconstant Values contributing to the predefined variant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PredefinedVariant.swSystemconstantValueSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-SYSTEMCONSTANT-VALUE-SET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SW-SYSTEMCONSTANT-VALUE-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::PredefinedVariant -->
   <xsd:complexType abstract="false" mixed="false" name="PREDEFINED-VARIANT">
      <xsd:annotation>
         <xsd:documentation>This specifies one predefined variant. It is characterized by the union of all system constant values and post-build variant criterion values aggregated within all referenced system constant value sets and post build variant criterion value sets plus the value sets of the included variants.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PredefinedVariants";mmt.qualifiedName="PredefinedVariant"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:PREDEFINED-VARIANT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PREDEFINED-VARIANT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PREDEFINED-VARIANT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataFormatTailoring::PrimitiveAttributeCondition -->
   <xsd:group name="PRIMITIVE-ATTRIBUTE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The PrimitiveAttributeCondition evaluates to true, if the referenced primitive attribute is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ATTRIBUTE-REF">
            <xsd:annotation>
               <xsd:documentation>The primitive attribute that has to be accepted by the restrictions of this PrimitiveAttributeCondition</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeCondition.attribute";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PRIMITIVE-ATTRIBUTE-TAILORING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::PrimitiveAttributeCondition -->
   <xsd:complexType abstract="false" mixed="false" name="PRIMITIVE-ATTRIBUTE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The PrimitiveAttributeCondition evaluates to true, if the referenced primitive attribute is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CONDITION"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:ATTRIBUTE-CONDITION"/>
         <xsd:group ref="AR:ABSTRACT-VALUE-RESTRICTION"/>
         <xsd:group ref="AR:PRIMITIVE-ATTRIBUTE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::PrimitiveAttributeTailoring -->
   <xsd:group name="PRIMITIVE-ATTRIBUTE-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of primitive attributes.
Primitive attributes are attributes that have a type which is marked by the stereotype &lt;&lt;primitive&gt;&gt; or &lt;&lt;enumeration&gt;&gt;</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE-HANDLING" type="AR:DEFAULT-VALUE-APPLICATION-STRATEGY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specification of how to handle AUTOSAR defined default values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeTailoring.defaultValueHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-ATTRIBUTE-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Tailors the attribute of a &lt;&lt;primitive&gt;&gt; data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeTailoring.subAttributeTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PRIMITIVE-ATTRIBUTE-TAILORING" type="AR:PRIMITIVE-ATTRIBUTE-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-RESTRICTION" type="AR:VALUE-RESTRICTION-WITH-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>The restriction of the attribute value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeTailoring.valueRestriction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::PrimitiveAttributeTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="PRIMITIVE-ATTRIBUTE-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of primitive attributes.
Primitive attributes are attributes that have a type which is marked by the stereotype &lt;&lt;primitive&gt;&gt; or &lt;&lt;enumeration&gt;&gt;</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveAttributeTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:ATTRIBUTE-TAILORING"/>
         <xsd:group ref="AR:PRIMITIVE-ATTRIBUTE-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PRIMITIVE-ATTRIBUTE-TAILORING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PRIMITIVE-ATTRIBUTE-TAILORING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class GerneralParameters::PrmChar -->
   <xsd:group name="PRM-CHAR">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to express the characteristics of one particular parameter. It can be exressed as numerical or as text parameter (provided as subclasses of PrmCharContents)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmChar"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COND" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents the particular conditions under which the parameter characteristic is valid.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmChar.cond";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:PRM-CHAR-NUMERICAL-CONTENTS"/>
            <xsd:group ref="AR:PRM-CHAR-TEXTUAL-CONTENTS"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="REMARK" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents further remarks about the particular parameter characteristics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmChar.remark";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="160"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::PrmChar -->
   <xsd:complexType abstract="false" mixed="false" name="PRM-CHAR">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to express the characteristics of one particular parameter. It can be exressed as numerical or as text parameter (provided as subclasses of PrmCharContents)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmChar"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PRM-CHAR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GerneralParameters::PrmCharAbsTol -->
   <xsd:group name="PRM-CHAR-ABS-TOL">
      <xsd:annotation>
         <xsd:documentation>The parameter is specified as ablolute value with a tolerance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharAbsTol"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ABS" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represnts the absolute value of the parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharAbsTol.abs";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TOL" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represnts the tolerance of the parameter in the same units as the paramter: E.g. Tmperature= 50 +- 0.5 grad.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharAbsTol.tol";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::PrmCharAbsTol -->
   <xsd:complexType abstract="false" mixed="false" name="PRM-CHAR-ABS-TOL">
      <xsd:annotation>
         <xsd:documentation>The parameter is specified as ablolute value with a tolerance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharAbsTol"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PRM-CHAR-NUMERICAL-VALUE"/>
         <xsd:group ref="AR:PRM-CHAR-ABS-TOL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GerneralParameters::PrmCharContents -->
   <xsd:group name="PRM-CHAR-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This is the contents of the parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class GerneralParameters::PrmCharMinTypMax -->
   <xsd:group name="PRM-CHAR-MIN-TYP-MAX">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the characteristics of a parameter as minimal, typical maximum value.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharMinTypMax"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represnts the minimum value of the parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharMinTypMax.min";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYP" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represnts the typical value of the parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharMinTypMax.typ";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="110"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>This represnts the maximum value of the parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharMinTypMax.max";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="120"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::PrmCharMinTypMax -->
   <xsd:complexType abstract="false" mixed="false" name="PRM-CHAR-MIN-TYP-MAX">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the characteristics of a parameter as minimal, typical maximum value.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharMinTypMax"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PRM-CHAR-NUMERICAL-VALUE"/>
         <xsd:group ref="AR:PRM-CHAR-MIN-TYP-MAX"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GerneralParameters::PrmCharNumericalContents -->
   <xsd:group name="PRM-CHAR-NUMERICAL-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the fact that it is a numerical parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharNumericalContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:PRM-CHAR-ABS-TOL"/>
            <xsd:group ref="AR:PRM-CHAR-MIN-TYP-MAX"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRM-UNIT" type="AR:SINGLE-LANGUAGE-UNIT-NAMES">
            <xsd:annotation>
               <xsd:documentation>This is the measurement unit. Note that due to the fact that Prm is also available outside of MSRSW / AUTOSAR, this is not a formal reference  to a unit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharNumericalContents.prmUnit";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="130"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::PrmCharNumericalContents -->
   <xsd:complexType abstract="false" mixed="false" name="PRM-CHAR-NUMERICAL-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the fact that it is a numerical parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharNumericalContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PRM-CHAR-CONTENTS"/>
         <xsd:group ref="AR:PRM-CHAR-NUMERICAL-CONTENTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GerneralParameters::PrmCharNumericalValue -->
   <xsd:group name="PRM-CHAR-NUMERICAL-VALUE">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents a numercial parameter characteristics.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharNumericalValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class GerneralParameters::PrmCharTextualContents -->
   <xsd:group name="PRM-CHAR-TEXTUAL-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the fact that it is a textual parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharTextualContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEXT" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This is the value of a textual parameter</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharTextualContents.text";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::PrmCharTextualContents -->
   <xsd:complexType abstract="false" mixed="false" name="PRM-CHAR-TEXTUAL-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the fact that it is a textual parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrmCharTextualContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:PRM-CHAR-CONTENTS"/>
         <xsd:group ref="AR:PRM-CHAR-TEXTUAL-CONTENTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GerneralParameters::Prms -->
   <xsd:group name="PRMS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to specify a parameter table. It can be used e.g. to specify parameter tables in a data sheet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Prms"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LABEL" type="AR:MULTILANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This represents the caption of the parameter table.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Prms.label";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="PRM" type="AR:GENERAL-PARAMETER">
            <xsd:annotation>
               <xsd:documentation>This represents one particular parameter in the the table.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Prms.prm";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="30";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class GerneralParameters::Prms -->
   <xsd:complexType abstract="false" mixed="false" name="PRMS">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the ability to specify a parameter table. It can be used e.g. to specify parameter tables in a data sheet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Prms"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:PRMS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::ProvidedServiceInstance -->
   <xsd:group name="PROVIDED-SERVICE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Service instances that are provided by the ECU that is connected via the ApplicationEndpoint to a CommunicationConnector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-HANDLERS">
            <xsd:annotation>
               <xsd:documentation>Collection of event callback configurations.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance.EventHandler";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EVENT-HANDLER" type="AR:EVENT-HANDLER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANCE-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Instance identifier. Can be used for e.g. service discovery to identify the instance of the service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance.instanceIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Priority defined per provided ServiceInstance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance.priority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SD-SERVER-CONFIG" type="AR:SD-SERVER-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Service Discovery Server configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance.sdServerConfig";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Service ID. Shall be unique within one system to allow service discovery.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance.serviceIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::ProvidedServiceInstance -->
   <xsd:complexType abstract="false" mixed="false" name="PROVIDED-SERVICE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>Service instances that are provided by the ECU that is connected via the ApplicationEndpoint to a CommunicationConnector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ProvidedServiceInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-SERVICE-INSTANCE"/>
         <xsd:group ref="AR:PROVIDED-SERVICE-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="PROVIDED-SERVICE-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PROVIDED-SERVICE-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Communication::QueuedReceiverComSpec -->
   <xsd:group name="QUEUED-RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes specific to queued receiving.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="QueuedReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="QUEUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of queue for received events.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="QueuedReceiverComSpec.queueLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::QueuedReceiverComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="QUEUED-RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes specific to queued receiving.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="QueuedReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:R-PORT-COM-SPEC"/>
         <xsd:group ref="AR:RECEIVER-COM-SPEC"/>
         <xsd:group ref="AR:QUEUED-RECEIVER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::QueuedSenderComSpec -->
   <xsd:group name="QUEUED-SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes specific to distribution of  events (PPortPrototype, SenderReceiverInterface and dataElement carries an "event").</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="QueuedSenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Communication::QueuedSenderComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="QUEUED-SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes specific to distribution of  events (PPortPrototype, SenderReceiverInterface and dataElement carries an "event").</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="QueuedSenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:P-PORT-COM-SPEC"/>
         <xsd:group ref="AR:SENDER-COM-SPEC"/>
         <xsd:group ref="AR:QUEUED-SENDER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::RModeGroupInAtomicSWCInstanceRef -->
   <xsd:group name="R-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RModeGroupInAtomicSWCInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-R-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RModeGroupInAtomicSWCInstanceRef.contextRPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RModeGroupInAtomicSWCInstanceRef.targetModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::RModeGroupInAtomicSWCInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="R-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RModeGroupInAtomicSWCInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:R-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::RModeInAtomicSwcInstanceRef -->
   <xsd:group name="R-MODE-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RModeInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RModeInAtomicSwcInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-MODE-DECLARATION-GROUP-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RModeInAtomicSwcInstanceRef.contextModeDeclarationGroupPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RModeInAtomicSwcInstanceRef.targetModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::RModeInAtomicSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="R-MODE-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RModeInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:R-MODE-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::ROperationInAtomicSwcInstanceRef -->
   <xsd:group name="R-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ROperationInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-R-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ROperationInAtomicSwcInstanceRef.contextRPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-REQUIRED-OPERATION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ROperationInAtomicSwcInstanceRef.targetRequiredOperation";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::ROperationInAtomicSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="R-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ROperationInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:OPERATION-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:R-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::RPortComSpec -->
   <xsd:group name="R-PORT-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes of a required PortPrototype. This class will contain attributes that are valid for all kinds of require-ports, independent of client-server or sender-receiver communication patterns.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RPortComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class InstanceRefs::RPortInCompositionInstanceRef -->
   <xsd:group name="R-PORT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RPortInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RPortInCompositionInstanceRef.contextComponent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-R-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RPortInCompositionInstanceRef.targetRPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::RPortInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="R-PORT-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RPortInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:PORT-IN-COMPOSITION-TYPE-INSTANCE-REF"/>
         <xsd:group ref="AR:R-PORT-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::RPortPrototype -->
   <xsd:group name="R-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Component port requiring a certain port interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-INTERFACE-TREF">
            <xsd:annotation>
               <xsd:documentation>The interface that this port requires, i.e. the port depends on another port providing the specified interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="rPort.requiredInterface";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::RPortPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="R-PORT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Component port requiring a certain port interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RPortPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:PORT-PROTOTYPE"/>
         <xsd:group ref="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:group ref="AR:R-PORT-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::RTEEvent -->
   <xsd:group name="RTE-EVENT">
      <xsd:annotation>
         <xsd:documentation>Abstract base class for all RTE-related events</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RTEEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISABLED-MODE-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the Modes that disable the Event.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="contextPort, contextModeDeclarationGroupPrototype, targetModeDeclaration";mmt.qualifiedName="RTEEvent.disabledMode";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DISABLED-MODE-IREF" type="AR:R-MODE-IN-ATOMIC-SWC-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="START-ON-EVENT-REF">
            <xsd:annotation>
               <xsd:documentation>RunnableEntity starts when the corresponding RTEEvent occurs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RTEEvent.startOnEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RUNNABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RTEEvent.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="RTE-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="BACKGROUND-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVE-ERROR-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="DATA-SEND-COMPLETED-EVENT"/>
         <xsd:enumeration value="DATA-WRITE-COMPLETED-EVENT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="INIT-EVENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="RTE-EVENT"/>
         <xsd:enumeration value="SWC-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="TIMING-EVENT"/>
         <xsd:enumeration value="TRANSFORMER-HARD-ERROR-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefs::RTriggerInAtomicSwcInstanceRef -->
   <xsd:group name="R-TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RTriggerInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-R-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RTriggerInAtomicSwcInstanceRef.contextRPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-TRIGGER-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RTriggerInAtomicSwcInstanceRef.targetTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::RTriggerInAtomicSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="R-TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RTriggerInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:R-TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::RVariableInAtomicSwcInstanceRef -->
   <xsd:group name="R-VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RVariableInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-R-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RVariableInAtomicSwcInstanceRef.contextRPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ABSTRACT-REQUIRED-PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RVariableInAtomicSwcInstanceRef.targetDataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::RVariableInAtomicSwcInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="R-VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RVariableInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF"/>
         <xsd:group ref="AR:R-VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::RapidPrototypingScenario -->
   <xsd:group name="RAPID-PROTOTYPING-SCENARIO">
      <xsd:annotation>
         <xsd:documentation>This meta class provides the ability to describe a Rapid Prototyping Scenario. Such a Rapid Prototyping Scenario consist out of two main aspects, the description of the byPassPoints and the relation to an rptHook.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="RapidPrototypingScenarios";mmt.qualifiedName="RapidPrototypingScenario"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HOST-SYSTEM-REF">
            <xsd:annotation>
               <xsd:documentation>System which describes the software components of the host ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RapidPrototypingScenario.hostSystem";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>Top-level rptContainer definitions of this specific rapid prototyping scenario.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RapidPrototypingScenario.rptContainer";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-CONTAINER" type="AR:RPT-CONTAINER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-PROFILES">
            <xsd:annotation>
               <xsd:documentation>Defiens the applicable Rapid Prototyping profils which are especially defining the smbol of the service functions and the valid id range.
The order of the RptProfiles determines the order of the service function invocation by RTE.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="RapidPrototypingScenario.rptProfile";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-PROFILE" type="AR:RPT-PROFILE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SYSTEM-REF">
            <xsd:annotation>
               <xsd:documentation>System which describes the rapid prototyping algorithm in the format of AUTOSAR Software Components.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="rptSystem";mmt.qualifiedName="RapidPrototypingScenario.rptSystem";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RPTScenario::RapidPrototypingScenario -->
   <xsd:complexType abstract="false" mixed="false" name="RAPID-PROTOTYPING-SCENARIO">
      <xsd:annotation>
         <xsd:documentation>This meta class provides the ability to describe a Rapid Prototyping Scenario. Such a Rapid Prototyping Scenario consist out of two main aspects, the description of the byPassPoints and the relation to an rptHook.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="RapidPrototypingScenarios";mmt.qualifiedName="RapidPrototypingScenario"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:RAPID-PROTOTYPING-SCENARIO"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::ReceiverAnnotation -->
   <xsd:group name="RECEIVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation of a receiver port, specifying properties of data elements that don't affect communication or generation of the RTE. The given attributes are requirements on the required data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNAL-AGE" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum allowed age of the signal since it was originally read by a sensor. This is a requirement specified on the receiver side.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverAnnotation.signalAge";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::ReceiverAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="RECEIVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation of a receiver port, specifying properties of data elements that don't affect communication or generation of the RTE. The given attributes are requirements on the required data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:SENDER-RECEIVER-ANNOTATION"/>
         <xsd:group ref="AR:RECEIVER-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::ReceiverComSpec -->
   <xsd:group name="RECEIVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Receiver-specific communication attributes (RPortPrototype typed by SenderReceiverInterface).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPOSITE-NETWORK-REPRESENTATIONS">
            <xsd:annotation>
               <xsd:documentation>This represents a CompositeNetworkRepresentation defined in the context of a ReceiverComSpec. The purpose of this aggregation is to be able to specify the network representation of leaf elements of ApplicationCompositeDataTypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.compositeNetworkRepresentation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPOSITE-NETWORK-REPRESENTATION" type="AR:COMPOSITE-NETWORK-REPRESENTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Data element these attributes belong to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTERNAL-REPLACEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is used to reference the AutosarDataPrototype to be taken for sourcing an external replacement in the out-of-range handling.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.2.1";mmt.qualifiedName="ReceiverComSpec.externalReplacement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AUTOSAR-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-OUT-OF-RANGE" type="AR:HANDLE-OUT-OF-RANGE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls how values that are out of the specified range are handled according to the values of HandleOutOfRangeEnum.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.handleOutOfRange";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-OUT-OF-RANGE-STATUS" type="AR:HANDLE-OUT-OF-RANGE-STATUS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Control the way how return values are created in case of an out-of-range situation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.handleOutOfRangeStatus";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-DELTA-COUNTER-INIT" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Initial maximum allowed gap between two counter values of two consecutively received valid Data, i.e. how many subsequent lost data is accepted. For example, if the receiver gets Data with counter 1 and MaxDeltaCounterInit is 1, then at the next reception the receiver can accept Counters with values 2 and 3, but not 4.

Note that if the receiver does not receive new Data at a consecutive read, then the receiver increments the tolerance by 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.maxDeltaCounterInit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-NO-NEW-OR-REPEATED-DATA" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The maximum amount of missing or repeated Data which the receiver does not expect to exceed under normal communication conditions.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.maxNoNewOrRepeatedData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-REPRESENTATION" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>A networkRepresentation is used to define how the dataElement is mapped to a communication bus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.networkRepresentation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REPLACE-WITH" type="AR:VARIABLE-ACCESS">
            <xsd:annotation>
               <xsd:documentation>This aggregation is used to identify the AutosarDataPrototype to be taken for sourcing an external replacement in the out-of-range handling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.replaceWith";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-COUNTER-INIT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of Data required for validating the consistency of the counter that shall be received with a valid counter (i.e. counter within the allowed lock-in range) after the detection of an unexpected behavior of a received counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.syncCounterInit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-COM-SPEC-PROPSS">
            <xsd:annotation>
               <xsd:documentation>This references the TransformationComSpecProps which define  port-specific configuration for data transformation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.transformationComSpecProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-COM-SPEC-PROPS" type="AR:END-TO-END-TRANSFORMATION-COM-SPEC-PROPS"/>
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS" type="AR:USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USES-END-TO-END-PROTECTION" type="AR:BOOLEAN-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This indicates whether the corresponding dataElement shall be transmitted using end-to-end protection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReceiverComSpec.usesEndToEndProtection";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Constants::RecordValueSpecification -->
   <xsd:group name="RECORD-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specifies the values for a record.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RecordValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIELDS">
            <xsd:annotation>
               <xsd:documentation>The value for a single record field. This could also be mapped explicitly to a record element of the data type using the shortName of the ValueSpecification. But this would introduce a relationship to the data type that is too strong. As of now, it is only important that the structure of the data type matches the structure of the ValueSpecification indepenently of the shortNames.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RecordValueSpecification.field";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::RecordValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="RECORD-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specifies the values for a record.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RecordValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:COMPOSITE-VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:RECORD-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:complexType name="REF">
      <xsd:annotation>
         <xsd:documentation>This primitive denotes a name based reference. For detailed syntax see the xsd.pattern.

* first slash (relative or absolute reference) [optional]
* Identifier  [required]
* a sequence of slashes and Identifiers [optional]

This primitive is used by the meta-model tools to create the references.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ref";xml.xsd.customType="REF";xml.xsd.pattern="/?[a-zA-Z][a-zA-Z0-9_]{0,127}(/[a-zA-Z][a-zA-Z0-9_]{0,127})*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,primitive</xsd:appinfo>
         <xsd:appinfo source="constraint_2552">Index attribute is only valid for arrays ⌈The index attribute in references is valid only if the reference target is an ApplicationArrayElement or if the reference target is an ImplementationDataTypeElement owned by an ImplementationDataType/ImplementationDataTypeElement of category ARRAY and has an attribute maxNumberOfElements/arraySize.⌋</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REF--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:REF"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- attribute group for class REF -->
   <xsd:attributeGroup name="REF">
      <xsd:annotation/>
      <xsd:attribute name="BASE" type="AR:IDENTIFIER--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute reflects the base to be used for this reference.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Ref.base";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="INDEX" type="AR:POSITIVE-INTEGER--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute supports the use case to point on specific elements in an array. This is in particular required if arrays are used to implement particular data objects.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Ref.index";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="REF--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="/?[a-zA-Z][a-zA-Z0-9_]{0,127}(/[a-zA-Z][a-zA-Z0-9_]{0,127})*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ARPackage::ReferenceBase -->
   <xsd:group name="REFERENCE-BASE">
      <xsd:annotation>
         <xsd:documentation>This meta-class establishes a basis for relative references. Reference bases are identified by the shortLabel which must be unique in the current package.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is the name of the reference base. By this name, particular references can denote the applicable base.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-DEFAULT" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute denotes if the current ReferenceBase is the default. Note that there can only be one default reference base within a package.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.isDefault";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-GLOBAL" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This indicates that the target of the applicable reference can be resolved via the non-qualified shortName. This requires that the shortName of the target is unique within the package referenced in the reference base.

The default is false.

Note that the reference base also maintains a list of elements which may be referenced using a "global Reference".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.isGlobal";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="25"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-IS-THIS-PACKAGE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This indicates that this base is established by the current package. In this case  the association "package" can be derived as the qualified shortName of the enclosing package. 

If  the value of baseIsThisPackage is set to true then one of the following must be true:

* target of the association "package" must be the enclosing package.
* association "package" is omitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.baseIsThisPackage";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="28"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GLOBAL-IN-PACKAGE-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to express that global elements live in various packages which do not have a common ancestor package. Packages mentioned by  ReferenceBase.globalInPackage are used in addition to the one in ReferenceBase.package.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.globalInPackage";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="28"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="GLOBAL-IN-PACKAGE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:AR-PACKAGE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="GLOBAL-ELEMENTS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="GLOBAL-ELEMENT" type="AR:REFERRABLE--SUBTYPES-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>This attribute represents a meta-class for which the global referencing is supported via this reference base.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.globalElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="29"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PACKAGE-REF">
            <xsd:annotation>
               <xsd:documentation>This association specifies the basis of all relative references with the base equals shortLabel.

This association must exist unless the value of baseIsThisPackage is set to true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase.package";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:AR-PACKAGE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ARPackage::ReferenceBase -->
   <xsd:complexType abstract="false" mixed="false" name="REFERENCE-BASE">
      <xsd:annotation>
         <xsd:documentation>This meta-class establishes a basis for relative references. Reference bases are identified by the shortLabel which must be unique in the current package.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceBase"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERENCE-BASE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::ReferenceCondition -->
   <xsd:group name="REFERENCE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The ReferenceCondition evaluates to true, if the referenced reference is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCE-REF">
            <xsd:annotation>
               <xsd:documentation>The reference that has to be accepted by the restrictions of this ReferenceCondition</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceCondition.reference";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:REFERENCE-TAILORING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::ReferenceCondition -->
   <xsd:complexType abstract="false" mixed="false" name="REFERENCE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The ReferenceCondition evaluates to true, if the referenced reference is accepted by all rules of this condition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CONDITION"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:ATTRIBUTE-CONDITION"/>
         <xsd:group ref="AR:REFERENCE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::ReferenceTailoring -->
   <xsd:group name="REFERENCE-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of Non-Containment References.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-TAILORINGS">
            <xsd:annotation>
               <xsd:documentation>Local class tailoring for content that is referenced by this reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceTailoring.typeTailoring";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ABSTRACT-CLASS-TAILORING" type="AR:ABSTRACT-CLASS-TAILORING"/>
                  <xsd:element name="CONCRETE-CLASS-TAILORING" type="AR:CONCRETE-CLASS-TAILORING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNRESOLVED-REFERENCE-RESTRICTION" type="AR:UNRESOLVED-REFERENCE-RESTRICTION-WITH-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>Specifies the severity of unresolved references.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceTailoring.unresolvedReferenceRestriction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::ReferenceTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="REFERENCE-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Tailoring of Non-Containment References.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:ATTRIBUTE-TAILORING"/>
         <xsd:group ref="AR:REFERENCE-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="REFERENCE-TAILORING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="REFERENCE-TAILORING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Constants::ReferenceValueSpecification -->
   <xsd:group name="REFERENCE-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specifies a reference to a data prototype to be used as an initial value for a pointer in the software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCE-VALUE-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced data prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceValueSpecification.referenceValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::ReferenceValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="REFERENCE-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Specifies a reference to a data prototype to be used as an initial value for a pointer in the software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReferenceValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:REFERENCE-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Identifiable::Referrable -->
   <xsd:group name="REFERRABLE">
      <xsd:annotation>
         <xsd:documentation>Instances of this class can be referred to by their identifier (while adhering to namespace borders).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Referrable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="1" name="SHORT-NAME" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This specifies an identifying shortName for the object. It needs to be unique within its context and is intended for humans but even more for technical reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Referrable.shortName";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.enforceMinMultiplicity="true";xml.sequenceOffset="-100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-NAME-FRAGMENTS">
            <xsd:annotation>
               <xsd:documentation>This specifies how the Referrable.shortName is composed of several shortNameFragments.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Referrable.shortNameFragment";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="-90"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SHORT-NAME-FRAGMENT" type="AR:SHORT-NAME-FRAGMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="REFERRABLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR-ELEMENT"/>
         <xsd:enumeration value="AR-PACKAGE"/>
         <xsd:enumeration value="ABSTRACT-ACCESS-POINT"/>
         <xsd:enumeration value="ABSTRACT-CAN-CLUSTER"/>
         <xsd:enumeration value="ABSTRACT-CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="ABSTRACT-CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="ABSTRACT-CAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="ABSTRACT-CLASS-TAILORING"/>
         <xsd:enumeration value="ABSTRACT-ETHERNET-FRAME"/>
         <xsd:enumeration value="ABSTRACT-EVENT"/>
         <xsd:enumeration value="ABSTRACT-PROVIDED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-REQUIRED-PORT-PROTOTYPE"/>
         <xsd:enumeration value="ABSTRACT-SERVICE-INSTANCE"/>
         <xsd:enumeration value="ACL-OBJECT-SET"/>
         <xsd:enumeration value="ACL-OPERATION"/>
         <xsd:enumeration value="ACL-PERMISSION"/>
         <xsd:enumeration value="ACL-ROLE"/>
         <xsd:enumeration value="AGE-CONSTRAINT"/>
         <xsd:enumeration value="AGGREGATION-TAILORING"/>
         <xsd:enumeration value="ALIAS-NAME-SET"/>
         <xsd:enumeration value="ANALYZED-EXECUTION-TIME"/>
         <xsd:enumeration value="APPLICATION-ARRAY-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-ARRAY-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="APPLICATION-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-ENDPOINT"/>
         <xsd:enumeration value="APPLICATION-ERROR"/>
         <xsd:enumeration value="APPLICATION-PARTITION"/>
         <xsd:enumeration value="APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING"/>
         <xsd:enumeration value="APPLICATION-PRIMITIVE-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-DATA-TYPE"/>
         <xsd:enumeration value="APPLICATION-RECORD-ELEMENT"/>
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ARBITRARY-EVENT-TRIGGERING"/>
         <xsd:enumeration value="ARGUMENT-DATA-PROTOTYPE"/>
         <xsd:enumeration value="ASSEMBLY-SW-CONNECTOR"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
         <xsd:enumeration value="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATP-BLUEPRINT"/>
         <xsd:enumeration value="ATP-BLUEPRINTABLE"/>
         <xsd:enumeration value="ATP-CLASSIFIER"/>
         <xsd:enumeration value="ATP-DEFINITION"/>
         <xsd:enumeration value="ATP-FEATURE"/>
         <xsd:enumeration value="ATP-PROTOTYPE"/>
         <xsd:enumeration value="ATP-STRUCTURE-ELEMENT"/>
         <xsd:enumeration value="ATP-TYPE"/>
         <xsd:enumeration value="ATTRIBUTE-TAILORING"/>
         <xsd:enumeration value="AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:enumeration value="AUTOSAR-DATA-TYPE"/>
         <xsd:enumeration value="AUTOSAR-OPERATION-ARGUMENT-INSTANCE"/>
         <xsd:enumeration value="AUTOSAR-VARIABLE-INSTANCE"/>
         <xsd:enumeration value="BACKGROUND-EVENT"/>
         <xsd:enumeration value="BASE-TYPE"/>
         <xsd:enumeration value="BLUEPRINT-MAPPING-SET"/>
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
         <xsd:enumeration value="BSW-ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
         <xsd:enumeration value="BSW-BACKGROUND-EVENT"/>
         <xsd:enumeration value="BSW-CALLED-ENTITY"/>
         <xsd:enumeration value="BSW-DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="BSW-DEBUG-INFO"/>
         <xsd:enumeration value="BSW-DIRECT-CALL-POINT"/>
         <xsd:enumeration value="BSW-DISTINGUISHED-PARTITION"/>
         <xsd:enumeration value="BSW-ENTRY-RELATIONSHIP-SET"/>
         <xsd:enumeration value="BSW-EVENT"/>
         <xsd:enumeration value="BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="BSW-IMPLEMENTATION"/>
         <xsd:enumeration value="BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="BSW-INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="BSW-INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="BSW-INTERRUPT-ENTITY"/>
         <xsd:enumeration value="BSW-MGR-NEEDS"/>
         <xsd:enumeration value="BSW-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="BSW-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="BSW-MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="BSW-MODULE-CALL-POINT"/>
         <xsd:enumeration value="BSW-MODULE-CLIENT-SERVER-ENTRY"/>
         <xsd:enumeration value="BSW-MODULE-DEPENDENCY"/>
         <xsd:enumeration value="BSW-MODULE-DESCRIPTION"/>
         <xsd:enumeration value="BSW-MODULE-ENTITY"/>
         <xsd:enumeration value="BSW-MODULE-ENTRY"/>
         <xsd:enumeration value="BSW-MODULE-TIMING"/>
         <xsd:enumeration value="BSW-OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="BSW-SCHEDULABLE-ENTITY"/>
         <xsd:enumeration value="BSW-SCHEDULE-EVENT"/>
         <xsd:enumeration value="BSW-SCHEDULER-NAME-PREFIX"/>
         <xsd:enumeration value="BSW-SERVICE-DEPENDENCY-IDENT"/>
         <xsd:enumeration value="BSW-SYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="BSW-TIMING-EVENT"/>
         <xsd:enumeration value="BSW-VARIABLE-ACCESS"/>
         <xsd:enumeration value="BUILD-ACTION"/>
         <xsd:enumeration value="BUILD-ACTION-ENTITY"/>
         <xsd:enumeration value="BUILD-ACTION-ENVIRONMENT"/>
         <xsd:enumeration value="BUILD-ACTION-MANIFEST"/>
         <xsd:enumeration value="BURST-PATTERN-EVENT-TRIGGERING"/>
         <xsd:enumeration value="CALIBRATION-PARAMETER-VALUE-SET"/>
         <xsd:enumeration value="CAN-CLUSTER"/>
         <xsd:enumeration value="CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="CAN-FRAME"/>
         <xsd:enumeration value="CAN-FRAME-TRIGGERING"/>
         <xsd:enumeration value="CAN-NM-CLUSTER"/>
         <xsd:enumeration value="CAN-NM-NODE"/>
         <xsd:enumeration value="CAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="CAN-TP-ADDRESS"/>
         <xsd:enumeration value="CAN-TP-CHANNEL"/>
         <xsd:enumeration value="CAN-TP-CONFIG"/>
         <xsd:enumeration value="CAN-TP-NODE"/>
         <xsd:enumeration value="CAPTION"/>
         <xsd:enumeration value="CHAPTER"/>
         <xsd:enumeration value="CLASS-CONTENT-CONDITIONAL"/>
         <xsd:enumeration value="CLIENT-ID-DEFINITION"/>
         <xsd:enumeration value="CLIENT-ID-DEFINITION-SET"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="CLIENT-SERVER-INTERFACE-TO-BSW-MODULE-ENTRY-BLUEPRINT-MAPPING"/>
         <xsd:enumeration value="CLIENT-SERVER-OPERATION"/>
         <xsd:enumeration value="CODE"/>
         <xsd:enumeration value="COLLECTABLE-ELEMENT"/>
         <xsd:enumeration value="COLLECTION"/>
         <xsd:enumeration value="COM-MGR-USER-NEEDS"/>
         <xsd:enumeration value="COMM-CONNECTOR-PORT"/>
         <xsd:enumeration value="COMMUNICATION-CLUSTER"/>
         <xsd:enumeration value="COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="COMPILER"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPU-METHOD"/>
         <xsd:enumeration value="CONCRETE-CLASS-TAILORING"/>
         <xsd:enumeration value="CONCRETE-PATTERN-EVENT-TRIGGERING"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS"/>
         <xsd:enumeration value="CONSISTENCY-NEEDS-BLUEPRINT-SET"/>
         <xsd:enumeration value="CONSTANT-SPECIFICATION"/>
         <xsd:enumeration value="CONSTANT-SPECIFICATION-MAPPING-SET"/>
         <xsd:enumeration value="CONSTRAINT-TAILORING"/>
         <xsd:enumeration value="CONSUMED-EVENT-GROUP"/>
         <xsd:enumeration value="CONSUMED-SERVICE-INSTANCE"/>
         <xsd:enumeration value="CONTAINER-I-PDU"/>
         <xsd:enumeration value="COUPLING-ELEMENT"/>
         <xsd:enumeration value="COUPLING-PORT"/>
         <xsd:enumeration value="COUPLING-PORT-FIFO"/>
         <xsd:enumeration value="COUPLING-PORT-SCHEDULER"/>
         <xsd:enumeration value="COUPLING-PORT-SHAPER"/>
         <xsd:enumeration value="COUPLING-PORT-STRUCTURAL-ELEMENT"/>
         <xsd:enumeration value="COUPLING-PORT-TRAFFIC-CLASS-ASSIGNMENT"/>
         <xsd:enumeration value="CRYPTO-SERVICE-NEEDS"/>
         <xsd:enumeration value="DATA-CONSTR"/>
         <xsd:enumeration value="DATA-EXCHANGE-POINT"/>
         <xsd:enumeration value="DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:enumeration value="DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:enumeration value="DATA-INTERFACE"/>
         <xsd:enumeration value="DATA-PROTOTYPE"/>
         <xsd:enumeration value="DATA-PROTOTYPE-GROUP"/>
         <xsd:enumeration value="DATA-RECEIVE-ERROR-EVENT"/>
         <xsd:enumeration value="DATA-RECEIVED-EVENT"/>
         <xsd:enumeration value="DATA-SEND-COMPLETED-EVENT"/>
         <xsd:enumeration value="DATA-TRANSFORMATION"/>
         <xsd:enumeration value="DATA-TRANSFORMATION-SET"/>
         <xsd:enumeration value="DATA-TYPE-MAPPING-SET"/>
         <xsd:enumeration value="DATA-WRITE-COMPLETED-EVENT"/>
         <xsd:enumeration value="DCM-I-PDU"/>
         <xsd:enumeration value="DEF-ITEM"/>
         <xsd:enumeration value="DELEGATION-SW-CONNECTOR"/>
         <xsd:enumeration value="DEPENDENCY-ON-ARTIFACT"/>
         <xsd:enumeration value="DEVELOPMENT-ERROR"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-ALGORITHM"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-COUNTER-BASED"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL"/>
         <xsd:enumeration value="DIAG-EVENT-DEBOUNCE-TIME-BASED"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ABSTRACT-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-ACCESS-PERMISSION"/>
         <xsd:enumeration value="DIAGNOSTIC-AGING"/>
         <xsd:enumeration value="DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-DIAGNOSTIC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-CLEAR-RESET-EMISSION-RELATED-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-COM-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMON-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMPONENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-CONNECTED-INDICATOR"/>
         <xsd:enumeration value="DIAGNOSTIC-CONNECTION"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTRIBUTION-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-DTC-SETTING-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-CUSTOM-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-IDENTIFIER-SET"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-DATA-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-DEBOUNCE-ALGORITHM-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-DEM-PROVIDED-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMIC-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-INSTANCE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET"/>
         <xsd:enumeration value="DIAGNOSTIC-ECU-RESET-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-ENV-BSW-MODE-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ENV-MODE-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ENV-SWC-MODE-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-ENVIRONMENTAL-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-INFO-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-DEBOUNCE-ALGORITHM-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-ENABLE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-OPERATION-CYCLE-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-STORAGE-CONDITION-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-TO-TROUBLE-CODE-UDS-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-EXTENDED-DATA-RECORD"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-GROUP-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-ALIAS-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-EVENT-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-FIM-FUNCTION-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-IDENTIFIER-INHIBIT"/>
         <xsd:enumeration value="DIAGNOSTIC-FUNCTION-INHIBIT-SOURCE"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-INDICATOR"/>
         <xsd:enumeration value="DIAGNOSTIC-INFO-TYPE"/>
         <xsd:enumeration value="DIAGNOSTIC-INHIBIT-SOURCE-EVENT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-DENOMINATOR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-IUMPR-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-EXPANDED-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-NODE"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SPN-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-J-1939-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-MEASUREMENT-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-ADDRESSABLE-RANGE-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-MIRROR"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-PRIMARY"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-DESTINATION-USER-DEFINED"/>
         <xsd:enumeration value="DIAGNOSTIC-MEMORY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-PARAMETER-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-POWERTRAIN-FREEZE-FRAME"/>
         <xsd:enumeration value="DIAGNOSTIC-PROTOCOL"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DTC-INFORMATION-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-DATA-BY-PERIODIC-ID-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-READ-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CONTROL-OF-ON-BOARD-DEVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-CURRENT-POWERTRAIN-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-DOWNLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-EMISSION-RELATED-DTC-PERMANENT-STATUS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-FILE-TRANSFER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ON-BOARD-MONITORING-TEST-RESULTS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-POWERTRAIN-FREEZE-FRAME-DATA-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-ROUTINE-RESULTS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-UPLOAD-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO"/>
         <xsd:enumeration value="DIAGNOSTIC-REQUEST-VEHICLE-INFO-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-ACCESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SECURITY-LEVEL"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-DATA-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-INSTANCE"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SERVICE-TABLE"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL"/>
         <xsd:enumeration value="DIAGNOSTIC-SESSION-CONTROL-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-START-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-STOP-ROUTINE"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-PORT-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-SW-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-RESULT"/>
         <xsd:enumeration value="DIAGNOSTIC-TEST-ROUTINE-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT"/>
         <xsd:enumeration value="DIAGNOSTIC-TRANSFER-EXIT-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-GROUP"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-J-1939"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-OBD"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-PROPS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS"/>
         <xsd:enumeration value="DIAGNOSTIC-TROUBLE-CODE-UDS-TO-TROUBLE-CODE-OBD-MAPPING"/>
         <xsd:enumeration value="DIAGNOSTIC-VALUE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-DATA-BY-IDENTIFIER-CLASS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS"/>
         <xsd:enumeration value="DIAGNOSTIC-WRITE-MEMORY-BY-ADDRESS-CLASS"/>
         <xsd:enumeration value="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
         <xsd:enumeration value="DLT-USER-NEEDS"/>
         <xsd:enumeration value="DO-IP-ACTIVATION-LINE-NEEDS"/>
         <xsd:enumeration value="DO-IP-GID-NEEDS"/>
         <xsd:enumeration value="DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-LOGIC-ADDRESS"/>
         <xsd:enumeration value="DO-IP-POWER-MODE-STATUS-NEEDS"/>
         <xsd:enumeration value="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-SERVICE-NEEDS"/>
         <xsd:enumeration value="DO-IP-TP-CONFIG"/>
         <xsd:enumeration value="DOCUMENT-ELEMENT-SCOPE"/>
         <xsd:enumeration value="DOCUMENTATION"/>
         <xsd:enumeration value="DOCUMENTATION-CONTEXT"/>
         <xsd:enumeration value="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
         <xsd:enumeration value="ECU-MAPPING"/>
         <xsd:enumeration value="EOC-EVENT-REF"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF-ABSTRACT"/>
         <xsd:enumeration value="EOC-EXECUTABLE-ENTITY-REF-GROUP"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECU-INSTANCE"/>
         <xsd:enumeration value="ECU-PARTITION"/>
         <xsd:enumeration value="ECU-STATE-MGR-USER-NEEDS"/>
         <xsd:enumeration value="ECU-TIMING"/>
         <xsd:enumeration value="ECUC-ABSTRACT-EXTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-INTERNAL-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-ABSTRACT-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-ADD-INFO-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-BOOLEAN-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CHOICE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-COMMON-ATTRIBUTES"/>
         <xsd:enumeration value="ECUC-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-CONTAINER-VALUE"/>
         <xsd:enumeration value="ECUC-DEFINITION-COLLECTION"/>
         <xsd:enumeration value="ECUC-DEFINITION-ELEMENT"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF"/>
         <xsd:enumeration value="ECUC-DESTINATION-URI-DEF-SET"/>
         <xsd:enumeration value="ECUC-ENUMERATION-LITERAL-DEF"/>
         <xsd:enumeration value="ECUC-ENUMERATION-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FLOAT-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-FOREIGN-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-FUNCTION-NAME-DEF"/>
         <xsd:enumeration value="ECUC-INSTANCE-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-INTEGER-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-LINKER-SYMBOL-DEF"/>
         <xsd:enumeration value="ECUC-MODULE-CONFIGURATION-VALUES"/>
         <xsd:enumeration value="ECUC-MODULE-DEF"/>
         <xsd:enumeration value="ECUC-MULTILINE-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-PARAM-CONF-CONTAINER-DEF"/>
         <xsd:enumeration value="ECUC-PARAMETER-DEF"/>
         <xsd:enumeration value="ECUC-QUERY"/>
         <xsd:enumeration value="ECUC-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-STRING-PARAM-DEF"/>
         <xsd:enumeration value="ECUC-SYMBOLIC-NAME-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-URI-REFERENCE-DEF"/>
         <xsd:enumeration value="ECUC-VALIDATION-CONDITION"/>
         <xsd:enumeration value="ECUC-VALUE-COLLECTION"/>
         <xsd:enumeration value="END-TO-END-PROTECTION"/>
         <xsd:enumeration value="END-TO-END-PROTECTION-SET"/>
         <xsd:enumeration value="ENUMERATION-MAPPING-TABLE"/>
         <xsd:enumeration value="ERROR-TRACER-NEEDS"/>
         <xsd:enumeration value="ETHERNET-CLUSTER"/>
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="ETHERNET-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="ETHERNET-FRAME"/>
         <xsd:enumeration value="ETHERNET-FRAME-TRIGGERING"/>
         <xsd:enumeration value="ETHERNET-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="ETHERNET-PRIORITY-REGENERATION"/>
         <xsd:enumeration value="EVALUATED-VARIANT-SET"/>
         <xsd:enumeration value="EVENT-HANDLER"/>
         <xsd:enumeration value="EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:enumeration value="EXCLUSIVE-AREA"/>
         <xsd:enumeration value="EXCLUSIVE-AREA-NESTING-ORDER"/>
         <xsd:enumeration value="EXECUTABLE-ENTITY"/>
         <xsd:enumeration value="EXECUTABLE-ENTITY-ACTIVATION-REASON"/>
         <xsd:enumeration value="EXECUTION-ORDER-CONSTRAINT"/>
         <xsd:enumeration value="EXECUTION-TIME"/>
         <xsd:enumeration value="EXECUTION-TIME-CONSTRAINT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="EXTERNAL-TRIGGERING-POINT-IDENT"/>
         <xsd:enumeration value="FM-ATTRIBUTE-DEF"/>
         <xsd:enumeration value="FM-FEATURE"/>
         <xsd:enumeration value="FM-FEATURE-MAP"/>
         <xsd:enumeration value="FM-FEATURE-MAP-ASSERTION"/>
         <xsd:enumeration value="FM-FEATURE-MAP-CONDITION"/>
         <xsd:enumeration value="FM-FEATURE-MAP-ELEMENT"/>
         <xsd:enumeration value="FM-FEATURE-MODEL"/>
         <xsd:enumeration value="FM-FEATURE-RELATION"/>
         <xsd:enumeration value="FM-FEATURE-RESTRICTION"/>
         <xsd:enumeration value="FM-FEATURE-SELECTION"/>
         <xsd:enumeration value="FM-FEATURE-SELECTION-SET"/>
         <xsd:enumeration value="FIBEX-ELEMENT"/>
         <xsd:enumeration value="FLAT-INSTANCE-DESCRIPTOR"/>
         <xsd:enumeration value="FLAT-MAP"/>
         <xsd:enumeration value="FLEXRAY-AR-TP-CONFIG"/>
         <xsd:enumeration value="FLEXRAY-AR-TP-NODE"/>
         <xsd:enumeration value="FLEXRAY-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="FLEXRAY-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="FLEXRAY-FRAME"/>
         <xsd:enumeration value="FLEXRAY-FRAME-TRIGGERING"/>
         <xsd:enumeration value="FLEXRAY-NM-CLUSTER"/>
         <xsd:enumeration value="FLEXRAY-NM-NODE"/>
         <xsd:enumeration value="FLEXRAY-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="FLEXRAY-TP-CONFIG"/>
         <xsd:enumeration value="FLEXRAY-TP-CONNECTION-CONTROL"/>
         <xsd:enumeration value="FLEXRAY-TP-NODE"/>
         <xsd:enumeration value="FLEXRAY-TP-PDU-POOL"/>
         <xsd:enumeration value="FRAME"/>
         <xsd:enumeration value="FRAME-PORT"/>
         <xsd:enumeration value="FRAME-TRIGGERING"/>
         <xsd:enumeration value="FUNCTION-INHIBITION-NEEDS"/>
         <xsd:enumeration value="GATEWAY"/>
         <xsd:enumeration value="GENERAL-PARAMETER"/>
         <xsd:enumeration value="GENERAL-PURPOSE-I-PDU"/>
         <xsd:enumeration value="GENERAL-PURPOSE-PDU"/>
         <xsd:enumeration value="GENERIC-ETHERNET-FRAME"/>
         <xsd:enumeration value="GLOBAL-SUPERVISION-NEEDS"/>
         <xsd:enumeration value="GLOBAL-TIME-CAN-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-CAN-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-DOMAIN"/>
         <xsd:enumeration value="GLOBAL-TIME-ETH-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-ETH-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-FR-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-FR-SLAVE"/>
         <xsd:enumeration value="GLOBAL-TIME-GATEWAY"/>
         <xsd:enumeration value="GLOBAL-TIME-MASTER"/>
         <xsd:enumeration value="GLOBAL-TIME-SLAVE"/>
         <xsd:enumeration value="HEAP-USAGE"/>
         <xsd:enumeration value="HW-ATTRIBUTE-DEF"/>
         <xsd:enumeration value="HW-ATTRIBUTE-LITERAL-DEF"/>
         <xsd:enumeration value="HW-CATEGORY"/>
         <xsd:enumeration value="HW-DESCRIPTION-ENTITY"/>
         <xsd:enumeration value="HW-ELEMENT"/>
         <xsd:enumeration value="HW-PIN"/>
         <xsd:enumeration value="HW-PIN-GROUP"/>
         <xsd:enumeration value="HW-TYPE"/>
         <xsd:enumeration value="I-PDU"/>
         <xsd:enumeration value="I-PDU-PORT"/>
         <xsd:enumeration value="I-PV-6-EXT-HEADER-FILTER-LIST"/>
         <xsd:enumeration value="I-PV-6-EXT-HEADER-FILTER-SET"/>
         <xsd:enumeration value="I-SIGNAL"/>
         <xsd:enumeration value="I-SIGNAL-GROUP"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU"/>
         <xsd:enumeration value="I-SIGNAL-I-PDU-GROUP"/>
         <xsd:enumeration value="I-SIGNAL-PORT"/>
         <xsd:enumeration value="I-SIGNAL-TO-I-PDU-MAPPING"/>
         <xsd:enumeration value="I-SIGNAL-TRIGGERING"/>
         <xsd:enumeration value="IDENT-CAPTION"/>
         <xsd:enumeration value="IDENTIFIABLE"/>
         <xsd:enumeration value="IEEE-1722-TP-ETHERNET-FRAME"/>
         <xsd:enumeration value="IMPLEMENTATION"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE"/>
         <xsd:enumeration value="IMPLEMENTATION-DATA-TYPE-ELEMENT"/>
         <xsd:enumeration value="IMPLEMENTATION-PROPS"/>
         <xsd:enumeration value="INIT-EVENT"/>
         <xsd:enumeration value="INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="INTERNAL-TRIGGER-OCCURRED-EVENT"/>
         <xsd:enumeration value="INTERNAL-TRIGGERING-POINT"/>
         <xsd:enumeration value="INTERPOLATION-ROUTINE-MAPPING-SET"/>
         <xsd:enumeration value="J-1939-CLUSTER"/>
         <xsd:enumeration value="J-1939-CONTROLLER-APPLICATION"/>
         <xsd:enumeration value="J-1939-DCM-I-PDU"/>
         <xsd:enumeration value="J-1939-NM-CLUSTER"/>
         <xsd:enumeration value="J-1939-NM-NODE"/>
         <xsd:enumeration value="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
         <xsd:enumeration value="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
         <xsd:enumeration value="J-1939-SHARED-ADDRESS-CLUSTER"/>
         <xsd:enumeration value="J-1939-TP-CONFIG"/>
         <xsd:enumeration value="J-1939-TP-NODE"/>
         <xsd:enumeration value="KEYWORD"/>
         <xsd:enumeration value="KEYWORD-SET"/>
         <xsd:enumeration value="LATENCY-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="LIFE-CYCLE-INFO-SET"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE"/>
         <xsd:enumeration value="LIFE-CYCLE-STATE-DEFINITION-GROUP"/>
         <xsd:enumeration value="LIN-CLUSTER"/>
         <xsd:enumeration value="LIN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="LIN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="LIN-EVENT-TRIGGERED-FRAME"/>
         <xsd:enumeration value="LIN-FRAME"/>
         <xsd:enumeration value="LIN-FRAME-TRIGGERING"/>
         <xsd:enumeration value="LIN-MASTER"/>
         <xsd:enumeration value="LIN-NM-CLUSTER"/>
         <xsd:enumeration value="LIN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="LIN-SCHEDULE-TABLE"/>
         <xsd:enumeration value="LIN-SLAVE"/>
         <xsd:enumeration value="LIN-SLAVE-CONFIG-IDENT"/>
         <xsd:enumeration value="LIN-SPORADIC-FRAME"/>
         <xsd:enumeration value="LIN-TP-CONFIG"/>
         <xsd:enumeration value="LIN-TP-NODE"/>
         <xsd:enumeration value="LIN-UNCONDITIONAL-FRAME"/>
         <xsd:enumeration value="LINKER"/>
         <xsd:enumeration value="LOGIC-ADDRESS"/>
         <xsd:enumeration value="MAC-MULTICAST-GROUP"/>
         <xsd:enumeration value="MC-DATA-INSTANCE"/>
         <xsd:enumeration value="MC-FUNCTION"/>
         <xsd:enumeration value="MEASURED-EXECUTION-TIME"/>
         <xsd:enumeration value="MEASURED-HEAP-USAGE"/>
         <xsd:enumeration value="MEASURED-STACK-USAGE"/>
         <xsd:enumeration value="MEMORY-SECTION"/>
         <xsd:enumeration value="MODE-ACCESS-POINT-IDENT"/>
         <xsd:enumeration value="MODE-DECLARATION"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP"/>
         <xsd:enumeration value="MODE-DECLARATION-GROUP-PROTOTYPE"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING"/>
         <xsd:enumeration value="MODE-DECLARATION-MAPPING-SET"/>
         <xsd:enumeration value="MODE-INTERFACE-MAPPING"/>
         <xsd:enumeration value="MODE-SWITCH-INTERFACE"/>
         <xsd:enumeration value="MODE-SWITCH-POINT"/>
         <xsd:enumeration value="MODE-SWITCHED-ACK-EVENT"/>
         <xsd:enumeration value="MODE-TRANSITION"/>
         <xsd:enumeration value="MULTILANGUAGE-REFERRABLE"/>
         <xsd:enumeration value="MULTIPLEXED-I-PDU"/>
         <xsd:enumeration value="N-PDU"/>
         <xsd:enumeration value="NETWORK-ENDPOINT"/>
         <xsd:enumeration value="NM-CLUSTER"/>
         <xsd:enumeration value="NM-CONFIG"/>
         <xsd:enumeration value="NM-ECU"/>
         <xsd:enumeration value="NM-NODE"/>
         <xsd:enumeration value="NM-PDU"/>
         <xsd:enumeration value="NV-BLOCK-DESCRIPTOR"/>
         <xsd:enumeration value="NV-BLOCK-NEEDS"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-DATA-INTERFACE"/>
         <xsd:enumeration value="OBD-CONTROL-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-INFO-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-MONITOR-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-PID-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-RATIO-SERVICE-NEEDS"/>
         <xsd:enumeration value="OFFSET-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="OPERATION-INVOKED-EVENT"/>
         <xsd:enumeration value="P-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PR-PORT-PROTOTYPE"/>
         <xsd:enumeration value="PACKAGEABLE-ELEMENT"/>
         <xsd:enumeration value="PARAMETER-ACCESS"/>
         <xsd:enumeration value="PARAMETER-DATA-PROTOTYPE"/>
         <xsd:enumeration value="PARAMETER-INTERFACE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PASS-THROUGH-SW-CONNECTOR"/>
         <xsd:enumeration value="PDU"/>
         <xsd:enumeration value="PDU-TO-FRAME-MAPPING"/>
         <xsd:enumeration value="PDU-TRIGGERING"/>
         <xsd:enumeration value="PDUR-I-PDU-GROUP"/>
         <xsd:enumeration value="PER-INSTANCE-MEMORY"/>
         <xsd:enumeration value="PERIODIC-EVENT-TRIGGERING"/>
         <xsd:enumeration value="PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="PHYSICAL-DIMENSION"/>
         <xsd:enumeration value="PHYSICAL-DIMENSION-MAPPING-SET"/>
         <xsd:enumeration value="PNC-MAPPING-IDENT"/>
         <xsd:enumeration value="PORT-GROUP"/>
         <xsd:enumeration value="PORT-INTERFACE"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING"/>
         <xsd:enumeration value="PORT-INTERFACE-MAPPING-SET"/>
         <xsd:enumeration value="PORT-PROTOTYPE"/>
         <xsd:enumeration value="PORT-PROTOTYPE-BLUEPRINT"/>
         <xsd:enumeration value="POSSIBLE-ERROR-REACTION"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION"/>
         <xsd:enumeration value="POST-BUILD-VARIANT-CRITERION-VALUE-SET"/>
         <xsd:enumeration value="PREDEFINED-VARIANT"/>
         <xsd:enumeration value="PRIMITIVE-ATTRIBUTE-TAILORING"/>
         <xsd:enumeration value="PROVIDED-SERVICE-INSTANCE"/>
         <xsd:enumeration value="R-PORT-PROTOTYPE"/>
         <xsd:enumeration value="RTE-EVENT"/>
         <xsd:enumeration value="RAPID-PROTOTYPING-SCENARIO"/>
         <xsd:enumeration value="REFERENCE-TAILORING"/>
         <xsd:enumeration value="REFERRABLE"/>
         <xsd:enumeration value="RESOURCE-CONSUMPTION"/>
         <xsd:enumeration value="ROOT-SW-COMPOSITION-PROTOTYPE"/>
         <xsd:enumeration value="ROUGH-ESTIMATE-HEAP-USAGE"/>
         <xsd:enumeration value="ROUGH-ESTIMATE-OF-EXECUTION-TIME"/>
         <xsd:enumeration value="ROUGH-ESTIMATE-STACK-USAGE"/>
         <xsd:enumeration value="RPT-COMPONENT"/>
         <xsd:enumeration value="RPT-CONTAINER"/>
         <xsd:enumeration value="RPT-EXECUTABLE-ENTITY"/>
         <xsd:enumeration value="RPT-EXECUTABLE-ENTITY-EVENT"/>
         <xsd:enumeration value="RPT-EXECUTION-CONTEXT"/>
         <xsd:enumeration value="RPT-PROFILE"/>
         <xsd:enumeration value="RPT-SERVICE-POINT"/>
         <xsd:enumeration value="RUNNABLE-ENTITY"/>
         <xsd:enumeration value="RUNNABLE-ENTITY-GROUP"/>
         <xsd:enumeration value="RUNTIME-ERROR"/>
         <xsd:enumeration value="SOMEIP-TRANSFORMATION-PROPS"/>
         <xsd:enumeration value="SDG-ABSTRACT-FOREIGN-REFERENCE"/>
         <xsd:enumeration value="SDG-ABSTRACT-PRIMITIVE-ATTRIBUTE"/>
         <xsd:enumeration value="SDG-AGGREGATION-WITH-VARIATION"/>
         <xsd:enumeration value="SDG-ATTRIBUTE"/>
         <xsd:enumeration value="SDG-CAPTION"/>
         <xsd:enumeration value="SDG-CLASS"/>
         <xsd:enumeration value="SDG-DEF"/>
         <xsd:enumeration value="SDG-FOREIGN-REFERENCE"/>
         <xsd:enumeration value="SDG-FOREIGN-REFERENCE-WITH-VARIATION"/>
         <xsd:enumeration value="SDG-PRIMITIVE-ATTRIBUTE"/>
         <xsd:enumeration value="SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION"/>
         <xsd:enumeration value="SDG-REFERENCE"/>
         <xsd:enumeration value="SDG-TAILORING"/>
         <xsd:enumeration value="SECTION-NAME-PREFIX"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-AUTHENTICATION-PROPS"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-FRESHNESS-PROPS"/>
         <xsd:enumeration value="SECURE-COMMUNICATION-PROPS-SET"/>
         <xsd:enumeration value="SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
         <xsd:enumeration value="SECURED-I-PDU"/>
         <xsd:enumeration value="SENDER-RECEIVER-INTERFACE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERIALIZATION-TECHNOLOGY"/>
         <xsd:enumeration value="SERVER-CALL-POINT"/>
         <xsd:enumeration value="SERVICE-NEEDS"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SIMULATED-EXECUTION-TIME"/>
         <xsd:enumeration value="SINGLE-LANGUAGE-REFERRABLE"/>
         <xsd:enumeration value="SO-AD-ROUTING-GROUP"/>
         <xsd:enumeration value="SOCKET-ADDRESS"/>
         <xsd:enumeration value="SOCKET-CONNECTION-BUNDLE"/>
         <xsd:enumeration value="SOMEIP-TP-CONFIG"/>
         <xsd:enumeration value="SPEC-ELEMENT-REFERENCE"/>
         <xsd:enumeration value="SPEC-ELEMENT-SCOPE"/>
         <xsd:enumeration value="SPECIFICATION-DOCUMENT-SCOPE"/>
         <xsd:enumeration value="SPORADIC-EVENT-TRIGGERING"/>
         <xsd:enumeration value="STACK-USAGE"/>
         <xsd:enumeration value="STD"/>
         <xsd:enumeration value="STRUCTURED-REQ"/>
         <xsd:enumeration value="SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
         <xsd:enumeration value="SUPERVISED-ENTITY-NEEDS"/>
         <xsd:enumeration value="SW-ADDR-METHOD"/>
         <xsd:enumeration value="SW-AXIS-TYPE"/>
         <xsd:enumeration value="SW-BASE-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-PROTOTYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-CONNECTOR"/>
         <xsd:enumeration value="SW-GENERIC-AXIS-PARAM-TYPE"/>
         <xsd:enumeration value="SW-RECORD-LAYOUT"/>
         <xsd:enumeration value="SW-SERVICE-ARG"/>
         <xsd:enumeration value="SW-SYSTEMCONST"/>
         <xsd:enumeration value="SW-SYSTEMCONSTANT-VALUE-SET"/>
         <xsd:enumeration value="SWC-BSW-MAPPING"/>
         <xsd:enumeration value="SWC-IMPLEMENTATION"/>
         <xsd:enumeration value="SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="SWC-MODE-MANAGER-ERROR-EVENT"/>
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
         <xsd:enumeration value="SWC-SERVICE-DEPENDENCY"/>
         <xsd:enumeration value="SWC-TIMING"/>
         <xsd:enumeration value="SWC-TO-APPLICATION-PARTITION-MAPPING"/>
         <xsd:enumeration value="SWC-TO-ECU-MAPPING"/>
         <xsd:enumeration value="SWC-TO-IMPL-MAPPING"/>
         <xsd:enumeration value="SYMBOL-PROPS"/>
         <xsd:enumeration value="SYMBOLIC-NAME-PROPS"/>
         <xsd:enumeration value="SYNC-TIME-BASE-MGR-USER-NEEDS"/>
         <xsd:enumeration value="SYNCHRONIZATION-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="SYNCHRONOUS-SERVER-CALL-POINT"/>
         <xsd:enumeration value="SYSTEM"/>
         <xsd:enumeration value="SYSTEM-MAPPING"/>
         <xsd:enumeration value="SYSTEM-SIGNAL"/>
         <xsd:enumeration value="SYSTEM-SIGNAL-GROUP"/>
         <xsd:enumeration value="SYSTEM-TIMING"/>
         <xsd:enumeration value="TD-EVENT-BSW"/>
         <xsd:enumeration value="TD-EVENT-BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-BSW-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-BSW-MODULE"/>
         <xsd:enumeration value="TD-EVENT-COM"/>
         <xsd:enumeration value="TD-EVENT-COMPLEX"/>
         <xsd:enumeration value="TD-EVENT-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-FR-CLUSTER-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-FRAME"/>
         <xsd:enumeration value="TD-EVENT-FRAME-ETHERNET"/>
         <xsd:enumeration value="TD-EVENT-I-PDU"/>
         <xsd:enumeration value="TD-EVENT-I-SIGNAL"/>
         <xsd:enumeration value="TD-EVENT-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-OPERATION"/>
         <xsd:enumeration value="TD-EVENT-SWC"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE"/>
         <xsd:enumeration value="TD-EVENT-TT-CAN-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-TRIGGER"/>
         <xsd:enumeration value="TD-EVENT-VARIABLE-DATA-PROTOTYPE"/>
         <xsd:enumeration value="TD-EVENT-VFB"/>
         <xsd:enumeration value="TD-EVENT-VFB-PORT"/>
         <xsd:enumeration value="TD-EVENT-VFB-REFERENCE"/>
         <xsd:enumeration value="TCP-OPTION-FILTER-LIST"/>
         <xsd:enumeration value="TCP-OPTION-FILTER-SET"/>
         <xsd:enumeration value="TIME-SYNC-SERVER-CONFIGURATION"/>
         <xsd:enumeration value="TIMING-CONDITION"/>
         <xsd:enumeration value="TIMING-CONSTRAINT"/>
         <xsd:enumeration value="TIMING-DESCRIPTION"/>
         <xsd:enumeration value="TIMING-DESCRIPTION-EVENT"/>
         <xsd:enumeration value="TIMING-DESCRIPTION-EVENT-CHAIN"/>
         <xsd:enumeration value="TIMING-EVENT"/>
         <xsd:enumeration value="TIMING-EXTENSION"/>
         <xsd:enumeration value="TIMING-EXTENSION-RESOURCE"/>
         <xsd:enumeration value="TIMING-MODE-INSTANCE"/>
         <xsd:enumeration value="TOPIC-1"/>
         <xsd:enumeration value="TP-ADDRESS"/>
         <xsd:enumeration value="TP-CONFIG"/>
         <xsd:enumeration value="TP-CONNECTION-IDENT"/>
         <xsd:enumeration value="TRACE-REFERRABLE"/>
         <xsd:enumeration value="TRACEABLE"/>
         <xsd:enumeration value="TRACEABLE-TEXT"/>
         <xsd:enumeration value="TRACED-FAILURE"/>
         <xsd:enumeration value="TRANSFORMATION-PROPS"/>
         <xsd:enumeration value="TRANSFORMATION-PROPS-SET"/>
         <xsd:enumeration value="TRANSFORMATION-TECHNOLOGY"/>
         <xsd:enumeration value="TRANSFORMER-HARD-ERROR-EVENT"/>
         <xsd:enumeration value="TRANSIENT-FAULT"/>
         <xsd:enumeration value="TRIGGER"/>
         <xsd:enumeration value="TRIGGER-INTERFACE"/>
         <xsd:enumeration value="TRIGGER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="TTCAN-CLUSTER"/>
         <xsd:enumeration value="TTCAN-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="TTCAN-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="TTCAN-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="UDP-NM-CLUSTER"/>
         <xsd:enumeration value="UDP-NM-NODE"/>
         <xsd:enumeration value="UNIT"/>
         <xsd:enumeration value="UNIT-GROUP"/>
         <xsd:enumeration value="USER-DEFINED-CLUSTER"/>
         <xsd:enumeration value="USER-DEFINED-COMMUNICATION-CONNECTOR"/>
         <xsd:enumeration value="USER-DEFINED-COMMUNICATION-CONTROLLER"/>
         <xsd:enumeration value="USER-DEFINED-ETHERNET-FRAME"/>
         <xsd:enumeration value="USER-DEFINED-GLOBAL-TIME-MASTER"/>
         <xsd:enumeration value="USER-DEFINED-GLOBAL-TIME-SLAVE"/>
         <xsd:enumeration value="USER-DEFINED-I-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PDU"/>
         <xsd:enumeration value="USER-DEFINED-PHYSICAL-CHANNEL"/>
         <xsd:enumeration value="V-2-X-FAC-USER-NEEDS"/>
         <xsd:enumeration value="V-2-X-M-USER-NEEDS"/>
         <xsd:enumeration value="VARIABLE-ACCESS"/>
         <xsd:enumeration value="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
         <xsd:enumeration value="VARIATION-POINT-PROXY"/>
         <xsd:enumeration value="VENDOR-SPECIFIC-SERVICE-NEEDS"/>
         <xsd:enumeration value="VFB-TIMING"/>
         <xsd:enumeration value="VIEW-MAP"/>
         <xsd:enumeration value="VIEW-MAP-SET"/>
         <xsd:enumeration value="VLAN-CONFIG"/>
         <xsd:enumeration value="WAIT-POINT"/>
         <xsd:enumeration value="WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
         <xsd:enumeration value="WORST-CASE-HEAP-USAGE"/>
         <xsd:enumeration value="WORST-CASE-STACK-USAGE"/>
         <xsd:enumeration value="XCP-PDU"/>
         <xsd:enumeration value="XDOC"/>
         <xsd:enumeration value="XFILE"/>
         <xsd:enumeration value="XREF-TARGET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Identifiable::ReferrableRefConditional -->
   <xsd:group name="REFERRABLE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Referrable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERRABLE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Referrable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ReferrableRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Identifiable::ReferrableRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="REFERRABLE-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Referrable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::RelativeTolerance -->
   <xsd:group name="RELATIVE-TOLERANCE">
      <xsd:annotation>
         <xsd:documentation>Maximum allowable deviation</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RelativeTolerance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RELATIVE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum allowable deviation in percent (percent of the corresponding TimeValue).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RelativeTolerance.relative";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::RelativeTolerance -->
   <xsd:complexType abstract="false" mixed="false" name="RELATIVE-TOLERANCE">
      <xsd:annotation>
         <xsd:documentation>Maximum allowable deviation</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RelativeTolerance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TIME-RANGE-TYPE-TOLERANCE"/>
         <xsd:group ref="AR:RELATIVE-TOLERANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::RemotingTechnology -->
   <xsd:group name="REMOTING-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>This element is deprecated and will be removed in future. 

Old description: Defines the used remoting Technology.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="RemotingTechnology"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NAME" type="AR:REMOTING-TECHNOLOGY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Remoting technology used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RemotingTechnology.name";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the used remoting Technology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RemotingTechnology.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::RemotingTechnology -->
   <xsd:complexType abstract="false" mixed="false" name="REMOTING-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>This element is deprecated and will be removed in future. 

Old description: Defines the used remoting Technology.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="RemotingTechnology"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REMOTING-TECHNOLOGY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::RequestResponseDelay -->
   <xsd:group name="REQUEST-RESPONSE-DELAY">
      <xsd:annotation>
         <xsd:documentation>Time to wait before answering the query.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RequestResponseDelay"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Maximum allowable response delay to entries received by multicast in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RequestResponseDelay.maxValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Minimum allowable response delay to entries received by multicast in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RequestResponseDelay.minValue";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::RequestResponseDelay -->
   <xsd:complexType abstract="false" mixed="false" name="REQUEST-RESPONSE-DELAY">
      <xsd:annotation>
         <xsd:documentation>Time to wait before answering the query.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RequestResponseDelay"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REQUEST-RESPONSE-DELAY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ResourceConsumption::ResourceConsumption -->
   <xsd:group name="RESOURCE-CONSUMPTION">
      <xsd:annotation>
         <xsd:documentation>Description of consumed resources by one implementation of a software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ResourceConsumption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESS-COUNT-SETS">
            <xsd:annotation>
               <xsd:documentation>Set of access count values
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ResourceConsumption.accessCountSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ACCESS-COUNT-SET" type="AR:ACCESS-COUNT-SET"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-TIMES">
            <xsd:annotation>
               <xsd:documentation>Collection of the execution time descriptions for this implementation.
The aggregation of executionTime is subject to variability with the purpose to support the conditional existence of runnable entities.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ResourceConsumption.executionTime";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANALYZED-EXECUTION-TIME" type="AR:ANALYZED-EXECUTION-TIME"/>
                  <xsd:element name="MEASURED-EXECUTION-TIME" type="AR:MEASURED-EXECUTION-TIME"/>
                  <xsd:element name="ROUGH-ESTIMATE-OF-EXECUTION-TIME" type="AR:ROUGH-ESTIMATE-OF-EXECUTION-TIME"/>
                  <xsd:element name="SIMULATED-EXECUTION-TIME" type="AR:SIMULATED-EXECUTION-TIME"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEAP-USAGES">
            <xsd:annotation>
               <xsd:documentation>Collection of the heap memory allocated by this implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ResourceConsumption.heapUsage";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEASURED-HEAP-USAGE" type="AR:MEASURED-HEAP-USAGE"/>
                  <xsd:element name="ROUGH-ESTIMATE-HEAP-USAGE" type="AR:ROUGH-ESTIMATE-HEAP-USAGE"/>
                  <xsd:element name="WORST-CASE-HEAP-USAGE" type="AR:WORST-CASE-HEAP-USAGE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-SECTIONS">
            <xsd:annotation>
               <xsd:documentation>An abstract memory section required by this Implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ResourceConsumption.memorySection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEMORY-SECTION" type="AR:MEMORY-SECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECTION-NAME-PREFIXS">
            <xsd:annotation>
               <xsd:documentation>A prefix to be used for the memory section symbol in the code. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ResourceConsumption.sectionNamePrefix";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SECTION-NAME-PREFIX" type="AR:SECTION-NAME-PREFIX"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STACK-USAGES">
            <xsd:annotation>
               <xsd:documentation>Collection of the stack memory usage for each runnable entity of this implementation.
The aggregation of StackUsage is subject to variability with the purpose to support the conditional existence of runnable entities.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="ResourceConsumption.stackUsage";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MEASURED-STACK-USAGE" type="AR:MEASURED-STACK-USAGE"/>
                  <xsd:element name="ROUGH-ESTIMATE-STACK-USAGE" type="AR:ROUGH-ESTIMATE-STACK-USAGE"/>
                  <xsd:element name="WORST-CASE-STACK-USAGE" type="AR:WORST-CASE-STACK-USAGE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResourceConsumption::ResourceConsumption -->
   <xsd:complexType abstract="false" mixed="false" name="RESOURCE-CONSUMPTION">
      <xsd:annotation>
         <xsd:documentation>Description of consumed resources by one implementation of a software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ResourceConsumption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RESOURCE-CONSUMPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CommonPatterns::RestrictionWithSeverity -->
   <xsd:group name="RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>A restriction that has a severity. The severity describes the severity level that is reported in case the restriction is violated.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEVERITY" type="AR:SEVERITY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Severity level that is reported in case the restriction is violated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RestrictionWithSeverity.severity";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class BswBehavior::RoleBasedBswModuleEntryAssignment -->
   <xsd:group name="ROLE-BASED-BSW-MODULE-ENTRY-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular BswModuleEntry (usually a configurable callback). 

With this assignment, the role of the callback is mapped to a specific ServiceNeeds element, so that a tool is able to create appropriate configuration values for the module that implements the AUTOSAR Service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedBswModuleEntryAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The assigned entry. It should be an implementedEntry or expectedEntry of the module or cluster that requires the ServiceNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedBswModuleEntryAssignment.assignedEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is the role of the assigned BswModuleEntry in the given context. The attribute is required (for example) because different kind of callbacks may be associated with the same ServiceNeeds (e.g. end-notification vs. error-notification).

The value must be the role name of a configurable function call (usually a callback) as standardized in the Software Specification of the related AUTOSAR Service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedBswModuleEntryAssignment.role";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedBswModuleEntryAssignment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class BswBehavior::RoleBasedBswModuleEntryAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="ROLE-BASED-BSW-MODULE-ENTRY-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular BswModuleEntry (usually a configurable callback). 

With this assignment, the role of the callback is mapped to a specific ServiceNeeds element, so that a tool is able to create appropriate configuration values for the module that implements the AUTOSAR Service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedBswModuleEntryAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ROLE-BASED-BSW-MODULE-ENTRY-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::RoleBasedDataAssignment -->
   <xsd:group name="ROLE-BASED-DATA-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular data object in the SwcInternalBehavior of a software component (or in the BswModuleBehavior of a module or cluster) in the context of an AUTOSAR Service.

With this assignment, the role of the data can be mapped to a specific ServiceNeeds element, so that a tool is able to create the correct access.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is the role of the assigned data in the given context, for example for an NVRAM Block it is used to distinguish between an mirror block and a ROM default block. Possible values need to be specified on M1 level.

This also is intended to support the so called "Signal based Approach" of the DCM. In this use case the name of the involved data element is required. This name shall be taken from the DataElement referenced by the property usedDataElement.

The following values are standardized:
* '''ramBlock''' indicates data to be used as a mirror for an NVRAM Block.
* '''defaultData''' indicates constant data to be used as default in the context of this ServiceNeeds, e.g. for an NVRAM Block.
* '''signalBasedDiagnostics''' indicates the RoleBasedDataAssignment shall be used for signal based diagnostics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment.role";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-DATA-ELEMENT" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The VariableDataPrototype used in this role, e.g. 

* Permanent RAM Block of an NVRAM Block which shall belong to the same SwcInternalBehavior or BswInternalBehavior.

* In the role signalBasedDiagnostics it has to refer to a VariableDataPrototype in a SenderReceiverInterface or a NvDataInterface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment.usedDataElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-PARAMETER-ELEMENT" type="AR:AUTOSAR-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>The ParameterDataPrototype used in this role, e.g. 

* ROM Block of an NVRAM Block. It shall belong to the same SwcInternalBehavior or BswInternalbehavior.

* In the role signalBasedDiagnostics it has to refer to a ParameterDataPrototype in a ParameterInterface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment.usedParameterElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-PIM-REF">
            <xsd:annotation>
               <xsd:documentation>The (untyped) PerInstanceMemory used in this role (e.g. as a Permanent RAM Block for an NVRAM Block).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment.usedPim";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PER-INSTANCE-MEMORY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::RoleBasedDataAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="ROLE-BASED-DATA-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular data object in the SwcInternalBehavior of a software component (or in the BswModuleBehavior of a module or cluster) in the context of an AUTOSAR Service.

With this assignment, the role of the data can be mapped to a specific ServiceNeeds element, so that a tool is able to create the correct access.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ROLE-BASED-DATA-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceMapping::RoleBasedDataTypeAssignment -->
   <xsd:group name="ROLE-BASED-DATA-TYPE-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular data type of a software component (or in the BswModuleBehavior of a module or cluster) in the context of an AUTOSAR Service.

With this assignment, the role of the data type can be mapped to a specific ServiceNeeds element, so that a tool is able to create the correct access.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataTypeAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is the role of the associated data type in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataTypeAssignment.role";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USED-IMPLEMENTATION-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the associated ImplementationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataTypeAssignment.usedImplementationDataType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataTypeAssignment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::RoleBasedDataTypeAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="ROLE-BASED-DATA-TYPE-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular data type of a software component (or in the BswModuleBehavior of a module or cluster) in the context of an AUTOSAR Service.

With this assignment, the role of the data type can be mapped to a specific ServiceNeeds element, so that a tool is able to create the correct access.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedDataTypeAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ROLE-BASED-DATA-TYPE-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class MeasurementCalibrationSupport::RoleBasedMcDataAssignment -->
   <xsd:group name="ROLE-BASED-MC-DATA-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class allows to define links that specify logical relationships between single McDataInstances. The details on the existence and semantics of such links are not standardized.

Possible Use Case: 
Rapid Prototyping solutions in which additional communication buffers and switches are implemented  in the RTE that allow to switch between the usage of the original and the bypass buffers. The different buffers and the switch can be represented by McDataInstances (in order to be accessed by MC tools) which have relationships to each other.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedMcDataAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-CONTEXT-REFS">
            <xsd:annotation>
               <xsd:documentation>Determines the executionContext in which the McDataInstance describing a local (e.g Task-Local) buffer of a gobal buffer is valid.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedMcDataAssignment.executionContext";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXECUTION-CONTEXT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:RPT-EXECUTION-CONTEXT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>The target of the assignment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedMcDataAssignment.mcDataInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MC-DATA-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MC-DATA-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Shall be used to specify the role of the assigned data instance in relation to the instance that owns the assignment.

The standardized roles of the RoleBasedMcDataAssignment.role attribute are:
* GlobalMeasurementBuffer
* RpEnablerFlag
* RpRunnableDisablerFlag
* BufferOf</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedMcDataAssignment.role";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedMcDataAssignment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MeasurementCalibrationSupport::RoleBasedMcDataAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="ROLE-BASED-MC-DATA-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class allows to define links that specify logical relationships between single McDataInstances. The details on the existence and semantics of such links are not standardized.

Possible Use Case: 
Rapid Prototyping solutions in which additional communication buffers and switches are implemented  in the RTE that allow to switch between the usage of the original and the bypass buffers. The different buffers and the switch can be represented by McDataInstances (in order to be accessed by MC tools) which have relationships to each other.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedMcDataAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ROLE-BASED-MC-DATA-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceMapping::RoleBasedPortAssignment -->
   <xsd:group name="ROLE-BASED-PORT-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular service port (RPortPrototype or PPortPrototype) of an AtomicSwComponentType. With this assignment, the role of the service port can be mapped to a specific ServiceNeeds element, so that a tool is able to create the correct connector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedPortAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Service PortPrototype used in the assigned role. This PortPrototype shall either belong to the same AtomicSwComponentType as the SwcInternalBehavior which owns the ServiceDependency or to the same NvBlockSwComponentType as the NvBlockDescriptor.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedPortAssignment.portPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is the role of the assigned Port in the given context.

The value shall be a shortName of the Blueprint of a PortInterface as standardized in the Software Specification of the related AUTOSAR Service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedPortAssignment.role";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedPortAssignment.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::RoleBasedPortAssignment -->
   <xsd:complexType abstract="false" mixed="false" name="ROLE-BASED-PORT-ASSIGNMENT">
      <xsd:annotation>
         <xsd:documentation>This class specifies an assignment of a role to a particular service port (RPortPrototype or PPortPrototype) of an AtomicSwComponentType. With this assignment, the role of the service port can be mapped to a specific ServiceNeeds element, so that a tool is able to create the correct connector.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoleBasedPortAssignment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ROLE-BASED-PORT-ASSIGNMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SystemTemplate::RootSwCompositionPrototype -->
   <xsd:group name="ROOT-SW-COMPOSITION-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>The RootSwCompositionPrototype represents the top-level-composition of software components within a given System. According to the use case of the System, this may for example be the a more or less complete VFB description, the software of a System Extract or the software of a flat ECU Extract with only atomic SWCs. 

Therefore the RootSwComposition will only occasionally contain all atomic software components that are used in a complete VFB System. The OEM is primarily interested in the required functionality and the interfaces defining the integration of the Software Component into the System. The internal structure of such a component contains often substantial intellectual property of a supplier. Therefore a top-level software composition will often contain empty compositions which represent subsystems. 

The contained SwComponentPrototypes are fully specified by their SwComponentTypes (including PortPrototypes, PortInterfaces, VariableDataPrototypes, SwcInternalBehavior etc.), and their ports are interconnected using SwConnectorPrototypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RootSwCompositionPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALIBRATION-PARAMETER-VALUE-SET-REFS">
            <xsd:annotation>
               <xsd:documentation>Used CalibrationParameterValueSet for instance specific initialization of calibration parameters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="calibrationParameterValueSet";mmt.qualifiedName="RootSwCompositionPrototype.calibrationParameterValueSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CALIBRATION-PARAMETER-VALUE-SET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CALIBRATION-PARAMETER-VALUE-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLAT-MAP-REF">
            <xsd:annotation>
               <xsd:documentation>The FlatMap used in the scope of this RootSwCompositionPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="flatMap";mmt.qualifiedName="RootSwCompositionPrototype.flatMap";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLAT-MAP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOFTWARE-COMPOSITION-TREF">
            <xsd:annotation>
               <xsd:documentation>We assume that there is exactly one top-level composition that includes all  Component instances  of the system</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RootSwCompositionPrototype.softwareComposition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMPOSITION-SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RootSwCompositionPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemTemplate::RootSwCompositionPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="ROOT-SW-COMPOSITION-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>The RootSwCompositionPrototype represents the top-level-composition of software components within a given System. According to the use case of the System, this may for example be the a more or less complete VFB description, the software of a System Extract or the software of a flat ECU Extract with only atomic SWCs. 

Therefore the RootSwComposition will only occasionally contain all atomic software components that are used in a complete VFB System. The OEM is primarily interested in the required functionality and the interfaces defining the integration of the Software Component into the System. The internal structure of such a component contains often substantial intellectual property of a supplier. Therefore a top-level software composition will often contain empty compositions which represent subsystems. 

The contained SwComponentPrototypes are fully specified by their SwComponentTypes (including PortPrototypes, PortInterfaces, VariableDataPrototypes, SwcInternalBehavior etc.), and their ports are interconnected using SwConnectorPrototypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RootSwCompositionPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:ROOT-SW-COMPOSITION-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ROOT-SW-COMPOSITION-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class HeapUsage::RoughEstimateHeapUsage -->
   <xsd:group name="ROUGH-ESTIMATE-HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>Rough estimation of the heap usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateHeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Rough estimate of the heap usage. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateHeapUsage.memoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class HeapUsage::RoughEstimateHeapUsage -->
   <xsd:complexType abstract="false" mixed="false" name="ROUGH-ESTIMATE-HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>Rough estimation of the heap usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateHeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HEAP-USAGE"/>
         <xsd:group ref="AR:ROUGH-ESTIMATE-HEAP-USAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ExecutionTime::RoughEstimateOfExecutionTime -->
   <xsd:group name="ROUGH-ESTIMATE-OF-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Provides a description of a rough estimate on the ExecutionTime.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateOfExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDITIONAL-INFORMATION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Provides description on the rough estimate of the ExecutionTime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateOfExecutionTime.additionalInformation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ESTIMATED-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The estimated execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateOfExecutionTime.estimatedExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionTime::RoughEstimateOfExecutionTime -->
   <xsd:complexType abstract="false" mixed="false" name="ROUGH-ESTIMATE-OF-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Provides a description of a rough estimate on the ExecutionTime.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateOfExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTION-TIME"/>
         <xsd:group ref="AR:ROUGH-ESTIMATE-OF-EXECUTION-TIME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class StackUsage::RoughEstimateStackUsage -->
   <xsd:group name="ROUGH-ESTIMATE-STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>Rough estimation of the stack usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateStackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Rough estimate of the stack usage. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateStackUsage.memoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class StackUsage::RoughEstimateStackUsage -->
   <xsd:complexType abstract="false" mixed="false" name="ROUGH-ESTIMATE-STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>Rough estimation of the stack usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RoughEstimateStackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:STACK-USAGE"/>
         <xsd:group ref="AR:ROUGH-ESTIMATE-STACK-USAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class OasisExchangeTable::Row -->
   <xsd:group name="ROW">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one row in a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Row"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="ENTRY" type="AR:ENTRY">
            <xsd:annotation>
               <xsd:documentation>This represents one particular table cell. It is an entry in the table.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Row.entry";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Row.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class OasisExchangeTable::Row -->
   <xsd:attributeGroup name="ROW">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one row in a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Row"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ROWSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if by default a line should be displayed below the row.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Row.rowsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="VALIGN" type="AR:VALIGN-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates how the cells in the rows shall be aligned. Default is inherited from tbody, otherwise it is "TOP"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Row.valign";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class OasisExchangeTable::Row -->
   <xsd:complexType abstract="false" mixed="false" name="ROW">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express one row in a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Row"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:ROW"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:ROW"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::RptComponent -->
   <xsd:group name="RPT-COMPONENT">
      <xsd:annotation>
         <xsd:documentation>Description of component instance for which rapid prototyping support is implemented.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptComponent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-ASSIGNMENTS">
            <xsd:annotation>
               <xsd:documentation>Reference to related McDataElement describing the implementation of "RP global buffer", "RP global measurement buffer", "RP enabler flag" and the "RP runnable disabler flag".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptComponent.mcDataAssignment";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-MC-DATA-ASSIGNMENT" type="AR:ROLE-BASED-MC-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RP-IMPL-POLICY" type="AR:RPT-IMPL-POLICY">
            <xsd:annotation>
               <xsd:documentation>Describes the implemented code preparation for rapid prototyping at data accesses.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptComponent.rpImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-EXECUTABLE-ENTITYS">
            <xsd:annotation>
               <xsd:documentation>ExecutableEntity instance which can be bypassed.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptComponent.rptExecutableEntity";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-EXECUTABLE-ENTITY" type="AR:RPT-EXECUTABLE-ENTITY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptComponent.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::RptComponent -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-COMPONENT">
      <xsd:annotation>
         <xsd:documentation>Description of component instance for which rapid prototyping support is implemented.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptComponent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-COMPONENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::RptContainer -->
   <xsd:group name="RPT-CONTAINER">
      <xsd:annotation>
         <xsd:documentation>This meta class defines a byPassPoint and the relation to a rptHook.

Additionally it may contain further rptContainers if the byPassPoint is not atomic. For example a byPassPoint refereing to a RunnableEntity may contain rptContainers referring to the data access points of the RunnableEntity. 

The RptContainer structure on M1 shall follow the M1 structure of the Software Component Descriptions. The category attribute denotes which level of the Software Component Description is annotated.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptContainer"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BY-PASS-POINT-IREFS">
            <xsd:annotation>
               <xsd:documentation>byPassPoint desribes the required preparation of the host ECU. At a byPassPoint  the host ECU shall be capable to communicate with a RPT System in order to support the execution of the rapid prototyping algorithms with the original data calculated by the host system and to replace dedicated results of  the host system by the results of the rapid prototyping algorithm.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="byPassPoint";mmt.qualifiedName="RptContainer.byPassPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="BY-PASS-POINT-IREF" type="AR:ANY-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXPLICIT-RPT-PROFILE-SELECTION-REFS">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the applicable RptProfiles for the specific RptContainer. If not any references to a specific RptProfile is defined, all RptProfiles defined in the RapidPrototypingScenario are applicable.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="explicitRptProfileSelection";mmt.qualifiedName="RptContainer.explicitRptProfileSelection";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXPLICIT-RPT-PROFILE-SELECTION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:RPT-PROFILE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-CONTAINERS">
            <xsd:annotation>
               <xsd:documentation>Sub-level rptContainer definitions of this specific rapid prototyping scenario.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RptContainer.rptContainer";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-CONTAINER" type="AR:RPT-CONTAINER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-EXECUTABLE-ENTITY-PROPERTIES" type="AR:RPT-EXECUTABLE-ENTITY-PROPERTIES">
            <xsd:annotation>
               <xsd:documentation>Describes the required code preparation for rapid prototyping at ExecutableEntity invocation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptContainer.rptExecutableEntityProperties";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-HOOKS">
            <xsd:annotation>
               <xsd:documentation>The rptHook describes the link between a byPassPoint and the rapid prototyping algorithm. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="rptHook, variationPoint.shortLabel";mmt.qualifiedName="RptContainer.rptHook";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-HOOK" type="AR:RPT-HOOK"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-IMPL-POLICY" type="AR:RPT-IMPL-POLICY">
            <xsd:annotation>
               <xsd:documentation>Describes the required code preparation for rapid prototyping at data accesses.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptContainer.rptImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SW-PROTOTYPING-ACCESS" type="AR:RPT-SW-PROTOTYPING-ACCESS">
            <xsd:annotation>
               <xsd:documentation>Describes the required accessibility of data and modes by the rapid prototyping tooling.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptContainer.rptSwPrototypingAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptContainer.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RPTScenario::RptContainer -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-CONTAINER">
      <xsd:annotation>
         <xsd:documentation>This meta class defines a byPassPoint and the relation to a rptHook.

Additionally it may contain further rptContainers if the byPassPoint is not atomic. For example a byPassPoint refereing to a RunnableEntity may contain rptContainers referring to the data access points of the RunnableEntity. 

The RptContainer structure on M1 shall follow the M1 structure of the Software Component Descriptions. The category attribute denotes which level of the Software Component Description is annotated.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptContainer"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-CONTAINER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::RptExecutableEntity -->
   <xsd:group name="RPT-EXECUTABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>This describes a ExecutableEntity instance which can be bypassed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-EXECUTABLE-ENTITY-EVENTS">
            <xsd:annotation>
               <xsd:documentation>ExecutableEntity event instance activation the owning RptExecutableEntity.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity.rptExecutableEntityEvent";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-EXECUTABLE-ENTITY-EVENT" type="AR:RPT-EXECUTABLE-ENTITY-EVENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-READS">
            <xsd:annotation>
               <xsd:documentation>read access to a variable
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity.rptRead";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-MC-DATA-ASSIGNMENT" type="AR:ROLE-BASED-MC-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-WRITES">
            <xsd:annotation>
               <xsd:documentation>write access to a variable
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity.rptWrite";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-MC-DATA-ASSIGNMENT" type="AR:ROLE-BASED-MC-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The symbol describing this ExecutableEntity's entry point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::RptExecutableEntity -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-EXECUTABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>This describes a ExecutableEntity instance which can be bypassed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-EXECUTABLE-ENTITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::RptExecutableEntityEvent -->
   <xsd:group name="RPT-EXECUTABLE-ENTITY-EVENT">
      <xsd:annotation>
         <xsd:documentation>This describes a ExecutableEntity event instance which can be bypassed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-CONTEXT-REFS">
            <xsd:annotation>
               <xsd:documentation>This describes the context in which the event of the executable entity is executed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.executionContext";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXECUTION-CONTEXT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:RPT-EXECUTION-CONTEXT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-ASSIGNMENTS">
            <xsd:annotation>
               <xsd:documentation>Reference to related McDataElements describing the implementation of „RP runnable disabler flag" and "stimulation enabler flag"

The possible roles of the RoleBasedMcDataAssignment.role attribute are:
* RpRunnableDisablerFlag"</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.mcDataAssignment";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-MC-DATA-ASSIGNMENT" type="AR:ROLE-BASED-MC-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-EVENT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>RPT event id used for service points call.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.rptEventId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-EXECUTABLE-ENTITY-PROPERTIES" type="AR:RPT-EXECUTABLE-ENTITY-PROPERTIES">
            <xsd:annotation>
               <xsd:documentation>Describes the implemented code preparation for rapid prototyping at ExecutableEntity invocation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.rptExecutableEntityProperties";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-IMPL-POLICY" type="AR:RPT-IMPL-POLICY">
            <xsd:annotation>
               <xsd:documentation>Describes the RptImplPolicy of a RptExecutableEvent for service based bypassing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.rptImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SERVICE-POINT-POST-REFS">
            <xsd:annotation>
               <xsd:documentation>This describes the applicable Post Service Points for a RTEEvent / BswEvent of a bypassed ExecutableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.rptServicePointPost";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-SERVICE-POINT-POST-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:RPT-SERVICE-POINT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SERVICE-POINT-PRE-REFS">
            <xsd:annotation>
               <xsd:documentation>This describes the applicable Pre Service Points for a RTEEvent / BswEvent of a bypassed ExecutableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.rptServicePointPre";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-SERVICE-POINT-PRE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:RPT-SERVICE-POINT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::RptExecutableEntityEvent -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-EXECUTABLE-ENTITY-EVENT">
      <xsd:annotation>
         <xsd:documentation>This describes a ExecutableEntity event instance which can be bypassed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-EXECUTABLE-ENTITY-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::RptExecutableEntityProperties -->
   <xsd:group name="RPT-EXECUTABLE-ENTITY-PROPERTIES">
      <xsd:annotation>
         <xsd:documentation>Describes the code preparation for rapid prototyping at ExecutableEntity invocation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityProperties"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-RPT-EVENT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Highest RPT event id useable for RTE generated service points.
This attribute is relevant, if dedicated id range shall be applied to the ExecutableEntitys of a software component or specific ExecutableEntitys.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityProperties.maxRptEventId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-RPT-EVENT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Lowest RPT event id useable for RTE generated service points.
This attribute is relevant, if dedicated id range shall be applied to the ExecutableEntitys of a software component or specific ExecutableEntitys.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityProperties.minRptEventId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-EXECUTION-CONTROL" type="AR:RPT-EXECUTION-CONTROL-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the rapid prototyping control of the executable</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityProperties.rptExecutionControl";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SERVICE-POINT" type="AR:RPT-SERVICE-POINT-ENUM">
            <xsd:annotation>
               <xsd:documentation>Enables generation of service points by the RTE generator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityProperties.rptServicePoint";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RPTScenario::RptExecutableEntityProperties -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-EXECUTABLE-ENTITY-PROPERTIES">
      <xsd:annotation>
         <xsd:documentation>Describes the code preparation for rapid prototyping at ExecutableEntity invocation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutableEntityProperties"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RPT-EXECUTABLE-ENTITY-PROPERTIES"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::RptExecutionContext -->
   <xsd:group name="RPT-EXECUTION-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>Defines a environment for the execution of ExecutableEntites which is qualified by

* OSTask
* communication buffer usage</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutionContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class RptSupport::RptExecutionContext -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-EXECUTION-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>Defines a environment for the execution of ExecutableEntites which is qualified by

* OSTask
* communication buffer usage</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutionContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-EXECUTION-CONTEXT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="RPT-EXECUTION-CONTEXT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RPT-EXECUTION-CONTEXT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RPTScenario::RptHook -->
   <xsd:group name="RPT-HOOK">
      <xsd:annotation>
         <xsd:documentation>This meta class provide the ability to describe a rapid prototyping hook. This can either be described by an other AUTOSAR system with the category RPT_SYSTEM or as a non AUTOSAR software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptHook"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CODE-LABEL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute provides a code label which is used in the implementation of the hook.
For example this can be an C function name or the name of data definition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptHook.codeLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MCD-IDENTIFIER" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute provides an identifier which shall be used in a MCD System to display the Rpt Hook.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptHook.mcdIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-AR-HOOK-IREF" type="AR:ANY-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This describes the hook with the means of another AUTOSAR system.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptHook.rptArHook";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDGS">
            <xsd:annotation>
               <xsd:documentation>This property allows to keep special data which is not represented by the standard model. It can be utilized to keep e.g. tool specific data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptHook.sdg";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG" type="AR:SDG"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptHook.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RPTScenario::RptHook -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-HOOK">
      <xsd:annotation>
         <xsd:documentation>This meta class provide the ability to describe a rapid prototyping hook. This can either be described by an other AUTOSAR system with the category RPT_SYSTEM or as a non AUTOSAR software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptHook"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RPT-HOOK"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::RptImplPolicy -->
   <xsd:group name="RPT-IMPL-POLICY">
      <xsd:annotation>
         <xsd:documentation>Describes the code preparation for rapid prototyping at data accesses.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptImplPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-ENABLER-IMPL-TYPE" type="AR:RPT-ENABLER-IMPL-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>For Level 2 or Level3 this property determines how the RTE implements the additional „RP enabler" flag.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptImplPolicy.rptEnablerImplType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-PREPARATION-LEVEL" type="AR:RPT-PREPARATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Mandates RP preparation level for access to VariableDataPrototype within generated RTE implementation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptImplPolicy.rptPreparationLevel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RPTScenario::RptImplPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-IMPL-POLICY">
      <xsd:annotation>
         <xsd:documentation>Describes the code preparation for rapid prototyping at data accesses.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptImplPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RPT-IMPL-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RPTScenario::RptProfile -->
   <xsd:group name="RPT-PROFILE">
      <xsd:annotation>
         <xsd:documentation>The RptProfile describes the common properties of a Rapid Prototyping method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SERVICE-POINT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Highest service point id useable for RTE generated service points.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile.maxServicePointId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-SERVICE-POINT-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Lowest service point id useable for RTE generated service points.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile.minServicePointId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-POINT-SYMBOL-POST" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Complete symbol of the function implementing the post service point. This symbol is used for post-build hooking purposes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile.servicePointSymbolPost";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-POINT-SYMBOL-PRE" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Complete symbol of the function implementing the pre service point. This symbol is used for post-build hooking purposes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile.servicePointSymbolPre";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STIM-ENABLER" type="AR:RPT-ENABLER-IMPL-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines if the service points support the stimulation enabler.
If RptProfile.stimEnabler is "none" then no stimulation enabler is passed to the service function. Otherwise the stimulation enabler will be passed as a parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile.stimEnabler";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RPTScenario::RptProfile -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-PROFILE">
      <xsd:annotation>
         <xsd:documentation>The RptProfile describes the common properties of a Rapid Prototyping method.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptProfile"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-PROFILE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="RPT-PROFILE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RPT-PROFILE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RptSupport::RptServicePoint -->
   <xsd:group name="RPT-SERVICE-POINT">
      <xsd:annotation>
         <xsd:documentation>Description of a Service Point implemented for rapid prototyping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptServicePoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Unique ID (Range: 0 ... 65535)  representing the service point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptServicePoint.serviceId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Complete symbol of the function implementing the service point. This symbol is used for post-build hooking purposes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptServicePoint.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptServicePoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::RptServicePoint -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-SERVICE-POINT">
      <xsd:annotation>
         <xsd:documentation>Description of a Service Point implemented for rapid prototyping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptServicePoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:RPT-SERVICE-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="RPT-SERVICE-POINT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RPT-SERVICE-POINT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RptSupport::RptSupportData -->
   <xsd:group name="RPT-SUPPORT-DATA">
      <xsd:annotation>
         <xsd:documentation>Root element for rapid prototyping support data related to one Implementation artifact on an ECU, in particular the RTE. 
The rapid prototyping support data may reference to elements provided for McSupportData.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptSupportData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTION-CONTEXTS">
            <xsd:annotation>
               <xsd:documentation>Defines a environment for the execution of ExecutableEntites.
Blah</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptSupportData.executionContext";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-EXECUTION-CONTEXT" type="AR:RPT-EXECUTION-CONTEXT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-COMPONENTS">
            <xsd:annotation>
               <xsd:documentation>Description of components for which rapid prototyping support is implemented.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptSupportData.rptComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-COMPONENT" type="AR:RPT-COMPONENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-SERVICE-POINTS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptSupportData.rptServicePoint";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RPT-SERVICE-POINT" type="AR:RPT-SERVICE-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::RptSupportData -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-SUPPORT-DATA">
      <xsd:annotation>
         <xsd:documentation>Root element for rapid prototyping support data related to one Implementation artifact on an ECU, in particular the RTE. 
The rapid prototyping support data may reference to elements provided for McSupportData.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptSupportData"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RPT-SUPPORT-DATA"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RptSupport::RptSwPrototypingAccess -->
   <xsd:group name="RPT-SW-PROTOTYPING-ACCESS">
      <xsd:annotation>
         <xsd:documentation>Describes the accessibility of data and modes by the rapid prototyping tooling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptSwPrototypingAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-HOOK-ACCESS" type="AR:RPT-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>The related data element can be modified  using a post-build hooking tool. An ENABLED VariableDataPrototype is implicitly READABLE/WRITABLE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptSwPrototypingAccess.rptHookAccess";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-READ-ACCESS" type="AR:RPT-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>The related data element can be used as input for bypass functionality by RP tool. If rptImplPolicy is not specified then RTE generation must ensure  at least suitable MC read points are created.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptSwPrototypingAccess.rptReadAccess";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RPT-WRITE-ACCESS" type="AR:RPT-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>The related data element can be used as output for bypass functionality by RP tool. The data element must be prepared to rptLevel2 and related write service points are present.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RptSwPrototypingAccess.rptWriteAccess";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RptSupport::RptSwPrototypingAccess -->
   <xsd:complexType abstract="false" mixed="false" name="RPT-SW-PROTOTYPING-ACCESS">
      <xsd:annotation>
         <xsd:documentation>Describes the accessibility of data and modes by the rapid prototyping tooling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptSwPrototypingAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RPT-SW-PROTOTYPING-ACCESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::RteEventInEcuInstanceRef -->
   <xsd:group name="RTE-EVENT-IN-ECU-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RteEventInEcuInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-ROOT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RteEventInEcuInstanceRef.contextRootComposition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-ATOMIC-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RteEventInEcuInstanceRef.contextAtomicComponent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-RTE-EVENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RteEventInEcuInstanceRef.targetRteEvent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RTE-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::RteEventInEcuInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="RTE-EVENT-IN-ECU-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RteEventInEcuInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:RTE-EVENT-IN-ECU-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::RtpTp -->
   <xsd:group name="RTP-TP">
      <xsd:annotation>
         <xsd:documentation>RTP over UDP or over TCP as transport protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RtpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SSRC" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Synchronization source identifier uniquely identifies the source of a stream. The synchronization sources within the same RTP session will be unique.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RtpTp.ssrc";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TCP-UDP-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Tcp or Udp Configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RtpTp.tcpUdpConfig";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="TCP-TP" type="AR:TCP-TP"/>
                  <xsd:element name="UDP-TP" type="AR:UDP-TP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::RtpTp -->
   <xsd:complexType abstract="false" mixed="false" name="RTP-TP">
      <xsd:annotation>
         <xsd:documentation>RTP over UDP or over TCP as transport protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RtpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSPORT-PROTOCOL-CONFIGURATION"/>
         <xsd:group ref="AR:RTP-TP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::RuleArguments -->
   <xsd:group name="RULE-ARGUMENTS">
      <xsd:annotation>
         <xsd:documentation>This represents the arguments for a rule-based value specification.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="V" type="AR:NUMERICAL-VALUE">
               <xsd:annotation>
                  <xsd:documentation>This represents a numerical value for the RuleBasedValueSpecification.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments.v";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VF" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
               <xsd:annotation>
                  <xsd:documentation>This represents a numerical value for the RuleBasedValueSpecification which may subject to variability. The latest binding time of the VariationPoint shall be preCompileTime.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments.vf";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VT" type="AR:VERBATIM-STRING">
               <xsd:annotation>
                  <xsd:documentation>This represents a textual value for the RuleBasedValueSpecification.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments.vt";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VTF" type="AR:NUMERICAL-OR-TEXT">
               <xsd:annotation>
                  <xsd:documentation>This aggregation represents the ability to provide a value that is either numerical or text which existence is subject to variability.

The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments.vtf";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VARIATION-POINT" type="AR:VARIATION-POINT">
               <xsd:annotation>
                  <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class Constants::RuleArguments -->
   <xsd:complexType abstract="false" mixed="false" name="RULE-ARGUMENTS">
      <xsd:annotation>
         <xsd:documentation>This represents the arguments for a rule-based value specification.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleArguments"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RULE-ARGUMENTS"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::RuleBasedAxisCont -->
   <xsd:group name="RULE-BASED-AXIS-CONT">
      <xsd:annotation>
         <xsd:documentation>This represents the values for the axis of a compound primitive (curve, map).

For standard and fix axes,  SwAxisCont contains the values of the axis directly. 

The axis values of SwAxisCont with the category COM_AXIS, RES_AXIS are for display only. For editing and processing, only the values in the related GroupAxis are binding.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:CALPRM-AXIS-CATEGORY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This category specifies the particular axis types: 

* FIX_AXIS 
* STD_AXIS 
* COM_AXIS 
* RES_AXIS  (swArraysize necessary)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the physical unit of the provided values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ARRAYSIZE" type="AR:VALUE-LIST">
            <xsd:annotation>
               <xsd:documentation>For multidimensional compound primitivies (curve, map ...) it is necessary to know the dimensions.They are specified using swArraySize.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont.swArraysize";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-INDEX" type="AR:AXIS-INDEX-TYPE">
            <xsd:annotation>
               <xsd:documentation>This property allows to explicitly assign the axis contents to a particular axis. It is specified by numbers where 1 corresponds to the x-axis.
It is also possible to derive the axis association from the sequence of the parent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont.swAxisIndex";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RULE-BASED-VALUES" type="AR:RULE-BASED-VALUE-SPECIFICATION">
            <xsd:annotation>
               <xsd:documentation>This represents the rule based value specification for the axis of a compound primitive (curve, map).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont.ruleBasedValues";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="80";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::RuleBasedAxisCont -->
   <xsd:complexType abstract="false" mixed="false" name="RULE-BASED-AXIS-CONT">
      <xsd:annotation>
         <xsd:documentation>This represents the values for the axis of a compound primitive (curve, map).

For standard and fix axes,  SwAxisCont contains the values of the axis directly. 

The axis values of SwAxisCont with the category COM_AXIS, RES_AXIS are for display only. For editing and processing, only the values in the related GroupAxis are binding.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedAxisCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RULE-BASED-AXIS-CONT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::RuleBasedValueCont -->
   <xsd:group name="RULE-BASED-VALUE-CONT">
      <xsd:annotation>
         <xsd:documentation>This represents the values of a compound primitive (CURVE, MAP, CUBOID, CUBE_4, CUBE_5, VAL_BLK) or an array.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the physical unit of the provided values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueCont.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ARRAYSIZE" type="AR:VALUE-LIST">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the size of each dimension for compound primitivies
CURVE, MAP, CUBOID, CUBE_4, CUBE_5, COM_AXIS, RES_AXIS, VAL_BLK, STRING.

For each dimension one value has to be defined, e.g. one in case of COM_AXIS and two or more in case of MAP.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueCont.swArraysize";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RULE-BASED-VALUES" type="AR:RULE-BASED-VALUE-SPECIFICATION">
            <xsd:annotation>
               <xsd:documentation>This represents the rule based value specification for the array or compound primitive (CURVE, MAP, CUBOID, CUBE_4, CUBE_5, VAL_BLK).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueCont.ruleBasedValues";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="80";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::RuleBasedValueCont -->
   <xsd:complexType abstract="false" mixed="false" name="RULE-BASED-VALUE-CONT">
      <xsd:annotation>
         <xsd:documentation>This represents the values of a compound primitive (CURVE, MAP, CUBOID, CUBE_4, CUBE_5, VAL_BLK) or an array.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RULE-BASED-VALUE-CONT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::RuleBasedValueSpecification -->
   <xsd:group name="RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to support a rule-based initialization approach for data types with an array-nature (ApplicationArrayDataType and ImplementationDataType of category ARRAY) or a compound ApplicationPrimitiveDataType (which also boils down to an array-nature).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RULE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This denotes the name of the rule of the RuleBasedValueSpecification. The rule determines the calculation specification according which the arguments are used to calculated the values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueSpecification.rule";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENTSS">
            <xsd:annotation>
               <xsd:documentation>This represents the arguments for the RuleBasedValueSpecification.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueSpecification.arguments";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RULE-ARGUMENTS" type="AR:RULE-ARGUMENTS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-SIZE-TO-FILL" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>If a rule is chosen which does not fill until the end, this determines until which size the rule shall fill the values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueSpecification.maxSizeToFill";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::RuleBasedValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="RULE-BASED-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to support a rule-based initialization approach for data types with an array-nature (ApplicationArrayDataType and ImplementationDataType of category ARRAY) or a compound ApplicationPrimitiveDataType (which also boils down to an array-nature).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuleBasedValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RULE-BASED-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SwcInternalBehavior::RunnableEntity -->
   <xsd:group name="RUNNABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>A RunnableEntity represents the smallest code-fragment that is provided by an AtomicSwComponentType and are executed under control of the RTE. RunnableEntities are for instance set up to respond to data reception or operation invocation on a server.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the formal definition of a an argument to a RunnableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity.argument";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNNABLE-ENTITY-ARGUMENT" type="AR:RUNNABLE-ENTITY-ARGUMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASYNCHRONOUS-SERVER-CALL-RESULT-POINTS">
            <xsd:annotation>
               <xsd:documentation>The server call result point admits a runnable to fetch the result of an asynchronous server call.

The aggregation of AsynchronousServerCallResultPoint is subject to variability with the purpose to support the conditional existence of client server PortPrototypes and the variant existence of server call result points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.asynchronousServerCallResultPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ASYNCHRONOUS-SERVER-CALL-RESULT-POINT" type="AR:ASYNCHRONOUS-SERVER-CALL-RESULT-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAN-BE-INVOKED-CONCURRENTLY" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If the value of this attribute is set to "true" the enclosing RunnableEntity can be invoked concurrently (even for one instance of the corresponding AtomicSwComponentType). This implies that it is the responsibility of the implementation of the RunnableEntity to take care of this form of concurrency. Note that the default value of this attribute is set to "false".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity.canBeInvokedConcurrently";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-READ-ACCESSS">
            <xsd:annotation>
               <xsd:documentation>RunnableEntity has implicit read access to dataElement of a sender-receiver PortPrototype or nv data of a nv data PortPrototype.

The aggregation of dataReadAccess is subject to variability with the purpose to support the conditional existence of sender receiver ports or the variant existence of dataReadAccess in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.dataReadAccess";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-RECEIVE-POINT-BY-ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>RunnableEntity has explicit read access to dataElement of a sender-receiver PortPrototype or nv data of a nv data PortPrototype.
The result is passed back to the application by means of an argument in the function signature.

The aggregation of dataReceivePointByArgument is subject to variability with the purpose to support the conditional existence of sender receiver PortPrototype or the variant existence of data receive points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.dataReceivePointByArgument";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-RECEIVE-POINT-BY-VALUES">
            <xsd:annotation>
               <xsd:documentation>RunnableEntity has explicit read access to dataElement of a sender-receiver PortPrototype or nv data of a nv data PortPrototype.

The result is passed back to the application by means of the return value.
The aggregation of dataReceivePointByValue is subject to variability with the purpose to support the conditional existence of sender receiver ports or the variant existence of data receive points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.dataReceivePointByValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-SEND-POINTS">
            <xsd:annotation>
               <xsd:documentation>RunnableEntity has explicit write access to dataElement of a sender-receiver PortPrototype or nv data of a nv data PortPrototype.

The aggregation of dataSendPoint is subject to variability with the purpose to support the conditional existence of sender receiver PortPrototype or the variant existence of data send points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.dataSendPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-WRITE-ACCESSS">
            <xsd:annotation>
               <xsd:documentation>RunnableEntity has implicit write access to dataElement of a sender-receiver PortPrototype or nv data of a nv data PortPrototype.

The aggregation of dataWriteAccess is subject to variability with the purpose to support the conditional existence of sender receiver ports or the variant existence of dataWriteAccess in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.dataWriteAccess";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTERNAL-TRIGGERING-POINTS">
            <xsd:annotation>
               <xsd:documentation>The aggregation of ExternalTriggeringPoint is subject to variability with the purpose to support the conditional existence of trigger ports or the variant existence of external triggering points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="externalTriggeringPoint, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.externalTriggeringPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="EXTERNAL-TRIGGERING-POINT" type="AR:EXTERNAL-TRIGGERING-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERNAL-TRIGGERING-POINTS">
            <xsd:annotation>
               <xsd:documentation>The aggregation of InternalTriggeringPoint is subject to variability with the purpose to support the variant existence of internal triggering points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.internalTriggeringPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INTERNAL-TRIGGERING-POINT" type="AR:INTERNAL-TRIGGERING-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-ACCESS-POINTS">
            <xsd:annotation>
               <xsd:documentation>The runnable has a mode access point.
The aggregation of ModeAccessPoint is subject to variability with the purpose to support the conditional existence of mode ports or the variant existence of mode access points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="modeAccessPoint, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.modeAccessPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-ACCESS-POINT" type="AR:MODE-ACCESS-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-SWITCH-POINTS">
            <xsd:annotation>
               <xsd:documentation>The runnable has a mode switch point.
The aggregation of ModeSwitchPoint is subject to variability with the purpose to support the conditional existence of mode ports or the variant existence of mode switch points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.modeSwitchPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-SWITCH-POINT" type="AR:MODE-SWITCH-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARAMETER-ACCESSS">
            <xsd:annotation>
               <xsd:documentation>The presence of a ParameterAccess implies that a RunnableEntity needs read only access to a ParameterDataPrototype which may either be local or within a PortPrototype.

The aggregation of ParameterAccess is subject to variability with the purpose to support the conditional existence of parameter ports and component local parameters as well as the variant existence of ParameterAccess (points) in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.parameterAccess";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-ACCESS" type="AR:PARAMETER-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="READ-LOCAL-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>The presence of a readLocalVariable implies that a RunnableEntity needs read access to a VariableDataPrototype in the role of implicitInterRunnableVariable or explicitInterRunnableVariable.

The aggregation of readLocalVariable is subject to variability with the purpose to support the conditional existence of implicitInterRunnableVariable and explicitInterRunnableVariable or the variant existence of readLocalVariable (points) in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.readLocalVariable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVER-CALL-POINTS">
            <xsd:annotation>
               <xsd:documentation>The RunnableEntity has a ServerCallPoint.
The aggregation of ServerCallPoint is subject to variability with the purpose to support the conditional existence of client server PortPrototypes or the variant existence of server call points in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.serverCallPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ASYNCHRONOUS-SERVER-CALL-POINT" type="AR:ASYNCHRONOUS-SERVER-CALL-POINT"/>
                  <xsd:element name="SYNCHRONOUS-SERVER-CALL-POINT" type="AR:SYNCHRONOUS-SERVER-CALL-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The symbol describing this RunnableEntity's entry point. This is considered the API of the RunnableEntity and is required during the RTE contract phase.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WAIT-POINTS">
            <xsd:annotation>
               <xsd:documentation>The WaitPoint associated with the RunnableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity.waitPoint";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="WAIT-POINT" type="AR:WAIT-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="WRITTEN-LOCAL-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>The presence of a writtenLocalVariable implies that a RunnableEntity needs write access to a VariableDataPrototype in the role of implicitInterRunnableVariable or explicitInterRunnableVariable.

The aggregation of writtenLocalVariable is subject to variability with the purpose to support the conditional existence of implicitInterRunnableVariable and explicitInterRunnableVariable or the variant existence of writtenLocalVariable (points) in the implementation.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="RunnableEntity.writtenLocalVariable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-ACCESS" type="AR:VARIABLE-ACCESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcInternalBehavior::RunnableEntity -->
   <xsd:complexType abstract="false" mixed="false" name="RUNNABLE-ENTITY">
      <xsd:annotation>
         <xsd:documentation>A RunnableEntity represents the smallest code-fragment that is provided by an AtomicSwComponentType and are executed under control of the RTE. RunnableEntities are for instance set up to respond to data reception or operation invocation on a server.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:EXECUTABLE-ENTITY"/>
         <xsd:group ref="AR:RUNNABLE-ENTITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="RUNNABLE-ENTITY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RUNNABLE-ENTITY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RunnableEntity::RunnableEntityArgument -->
   <xsd:group name="RUNNABLE-ENTITY-ARGUMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to provide specific information regarding the arguments to a RunnableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityArgument"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOL" type="AR:C-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This represents the symbol to be generated into the actual signature on the level of the C programming language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityArgument.symbol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RunnableEntity::RunnableEntityArgument -->
   <xsd:complexType abstract="false" mixed="false" name="RUNNABLE-ENTITY-ARGUMENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to provide specific information regarding the arguments to a RunnableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityArgument"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RUNNABLE-ENTITY-ARGUMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ImplicitCommunicationBehavior::RunnableEntityGroup -->
   <xsd:group name="RUNNABLE-ENTITY-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a collection of RunnableEntities. The collection can be nested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNNABLE-ENTITY-GROUP-IREFS">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to define nested groups of RunnableEntitys.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityGroup.runnableEntityGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNNABLE-ENTITY-GROUP-IREF" type="AR:INNER-RUNNABLE-ENTITY-GROUP-IN-COMPOSITION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNNABLE-ENTITY-IREFS">
            <xsd:annotation>
               <xsd:documentation>This represents a collection of RunnableEntitys that belong to the enclosing RunnableEntityGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityGroup.runnableEntity";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNNABLE-ENTITY-IREF" type="AR:RUNNABLE-ENTITY-IN-COMPOSITION-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityGroup.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ImplicitCommunicationBehavior::RunnableEntityGroup -->
   <xsd:complexType abstract="false" mixed="false" name="RUNNABLE-ENTITY-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define a collection of RunnableEntities. The collection can be nested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RUNNABLE-ENTITY-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="RUNNABLE-ENTITY-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RUNNABLE-ENTITY-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRef::RunnableEntityInCompositionInstanceRef -->
   <xsd:group name="RUNNABLE-ENTITY-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a RunnableEntity in the context of a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-SW-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the nested structure of SwComponentPrototypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityInCompositionInstanceRef.contextSwComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-RUNNABLE-ENTITY-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the target RunnableEntity.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityInCompositionInstanceRef.targetRunnableEntity";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RUNNABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityInCompositionInstanceRef.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRef::RunnableEntityInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="RUNNABLE-ENTITY-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a RunnableEntity in the context of a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunnableEntityInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:RUNNABLE-ENTITY-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::RuntimeError -->
   <xsd:group name="RUNTIME-ERROR">
      <xsd:annotation>
         <xsd:documentation>The reported failure is classified as runtime error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuntimeError"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::RuntimeError -->
   <xsd:complexType abstract="false" mixed="false" name="RUNTIME-ERROR">
      <xsd:annotation>
         <xsd:documentation>The reported failure is classified as runtime error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuntimeError"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACED-FAILURE"/>
         <xsd:group ref="AR:RUNTIME-ERROR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CanCommunication::RxIdentifierRange -->
   <xsd:group name="RX-IDENTIFIER-RANGE">
      <xsd:annotation>
         <xsd:documentation>Optional definition of a CanId range to reduce the effort of specifying every possible FrameTriggering within the defined Id range during reception. All frames received within a range are mapped to the same Pdu that is passed to a upper layer module (e.g. Nm, CDD, PduR).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RxIdentifierRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-CAN-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute can be used together with the upperCanId attribute to define a range of CanIds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RxIdentifierRange.lowerCanId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-CAN-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute can be used together with the lowerCanId attribute to define a range of CanIds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="RxIdentifierRange.upperCanId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CanCommunication::RxIdentifierRange -->
   <xsd:complexType abstract="false" mixed="false" name="RX-IDENTIFIER-RANGE">
      <xsd:annotation>
         <xsd:documentation>Optional definition of a CanId range to reduce the effort of specifying every possible FrameTriggering within the defined Id range during reception. All frames received within a range are mapped to the same Pdu that is passed to a upper layer module (e.g. Nm, CDD, PduR).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RxIdentifierRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RX-IDENTIFIER-RANGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::SOMEIPTransformationDescription -->
   <xsd:group name="SOMEIP-TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>The SOMEIPTransformationDescription is used to specify SOME/IP transformer specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIGNMENT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the alignment of dynamic data in the serialized data stream. The alignment shall be specified in Bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationDescription.alignment";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines which byte order shall be serialized by the SOME/IP transformer</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationDescription.byteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERFACE-VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The interface version the SOME/IP transformer shall use.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationDescription.interfaceVersion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::SOMEIPTransformationDescription -->
   <xsd:complexType abstract="false" mixed="false" name="SOMEIP-TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>The SOMEIPTransformationDescription is used to specify SOME/IP transformer specific attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-DESCRIPTION"/>
         <xsd:group ref="AR:SOMEIP-TRANSFORMATION-DESCRIPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::SOMEIPTransformationISignalProps -->
   <xsd:group name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>The class SOMEIPTransformationISignalProps specifies ISignal specific configuration properties for SOME/IP transformer attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.SOMEIPTransformationISignalPropsVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL" type="AR:SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::SOMEIPTransformationISignalProps -->
   <xsd:complexType abstract="false" mixed="false" name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>The class SOMEIPTransformationISignalProps specifies ISignal specific configuration properties for SOME/IP transformer attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-I-SIGNAL-PROPS"/>
         <xsd:group ref="AR:SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::SOMEIPTransformationISignalPropsConditional -->
   <xsd:group name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalPropsConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::SOMEIPTransformationISignalPropsConditional -->
   <xsd:complexType abstract="false" mixed="false" name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSFORMATION-I-SIGNAL-PROPS-CONTENT"/>
         <xsd:group ref="AR:SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONTENT"/>
         <xsd:group ref="AR:SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::SOMEIPTransformationISignalPropsContent -->
   <xsd:group name="SOMEIP-TRANSFORMATION-I-SIGNAL-PROPS-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalPropsContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTS-SOMEIP-STRING-HANDLING" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute indicates whether Strings in the SOME/IP message shall be processed according to the SOME/IP specification for Strings. This attribute has been introduced due to compatibility reasons for AUTOSAR before R4.3. If this attribute is set to true Strings in the payload shall be handled according to the SOME/IP specification on Strings.
If this attribute is set to false (or not set) no special handling for Strings in the payload shall be performed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.implementsSOMEIPStringHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTERFACE-VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The interface version the SOME/IP transformer shall use.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.interfaceVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-TYPE" type="AR:SOMEIP-MESSAGE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The Message Type which shall be placed into the SOME/IP header.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.messageType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SESSION-HANDLING-SR" type="AR:SOMEIP-TRANSFORMER-SESSION-HANDLING-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines whether the SOME/IP transformer shall use session handling for Sender/Receiver communication.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.sessionHandlingSR";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE-OF-ARRAY-LENGTH-FIELDS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size of all length fields (in Bytes) of fixed-size arrays in the SOME/IP message. This attribute is valid for all available occurrences of fixed-size arrays in the SOME/IP message. For a more fine granular modeling on the level of DataPrototypes the DataPrototypeTransformationProps shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.sizeOfArrayLengthFields";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE-OF-STRUCT-LENGTH-FIELDS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size of all length fields (in Bytes) of structs in the SOME/IP message. This attribute is valid for all available occurrences of structures in the SOME/IP message. For a more fine granular modeling on the level of DataPrototypes the DataPrototypeTransformationProps shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.sizeOfStructLengthFields";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE-OF-UNION-LENGTH-FIELDS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The size of all length fields (in Bytes) of unions in the SOME/IP message. This attribute is valid for all available occurrences of Unions in the SOME/IP message. For a more fine granular modeling on the level of DataPrototypes the DataPrototypeTransformationProps shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationISignalProps.sizeOfUnionLengthFields";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Transformer::SOMEIPTransformationProps -->
   <xsd:group name="SOMEIP-TRANSFORMATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>The class SOMEIPTransformationProps specifies SOME/IP specific configuration properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALIGNMENT" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the alignment of dynamic data in the serialized data stream. The alignment is specified in Bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationProps.alignment";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE-OF-ARRAY-LENGTH-FIELD" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the size of the length field (in Bytes) that will be put in front of a static size Array in the SOME/IP message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationProps.sizeOfArrayLengthField";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE-OF-STRUCT-LENGTH-FIELD" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the size of the length field (in Bytes) that will be put in front of a Structure in the SOME/IP message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationProps.sizeOfStructLengthField";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIZE-OF-UNION-LENGTH-FIELD" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the size of the length field (in Bytes) that will be put in front of a Union in the SOME/IP message.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationProps.sizeOfUnionLengthField";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::SOMEIPTransformationProps -->
   <xsd:complexType abstract="false" mixed="false" name="SOMEIP-TRANSFORMATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>The class SOMEIPTransformationProps specifies SOME/IP specific configuration properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-PROPS"/>
         <xsd:group ref="AR:SOMEIP-TRANSFORMATION-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::SaveConfigurationEntry -->
   <xsd:group name="SAVE-CONFIGURATION-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This service is used to notify a slave node to store its configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SaveConfigurationEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class LinCommunication::SaveConfigurationEntry -->
   <xsd:complexType abstract="false" mixed="false" name="SAVE-CONFIGURATION-ENTRY">
      <xsd:annotation>
         <xsd:documentation>This service is used to notify a slave node to store its configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SaveConfigurationEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:SAVE-CONFIGURATION-ENTRY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class GlobalConstraints::ScaleConstr -->
   <xsd:group name="SCALE-CONSTR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify constraints as a list of intervals (called scales).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This element specifies a short name for the scaleConstr. This can for example be used to create more specific messages of a constraint checker. The constraints cannot be associated in the meta-model, therefore shortLabel is somehow a substitute for shortName.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>&lt;desc&gt; represents a general but brief description of the object in question.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOWER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the lower limit of the scale.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr.lowerLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UPPER-LIMIT" type="AR:LIMIT">
            <xsd:annotation>
               <xsd:documentation>This specifies the upper limit of a the scale.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr.upperLimit";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class GlobalConstraints::ScaleConstr -->
   <xsd:attributeGroup name="SCALE-CONSTR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify constraints as a list of intervals (called scales).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="VALIDITY" type="AR:SCALE-CONSTR-VALIDITY-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies if the values defined by the scales are considered to be valid. If the attribute is missing then the default value is "VALID".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr.validity";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class GlobalConstraints::ScaleConstr -->
   <xsd:complexType abstract="false" mixed="false" name="SCALE-CONSTR">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify constraints as a list of intervals (called scales).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstr"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCALE-CONSTR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:SCALE-CONSTR"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::ScheduleTableEntry -->
   <xsd:group name="SCHEDULE-TABLE-ENTRY">
      <xsd:annotation>
         <xsd:documentation>Table entry in a LinScheduleTable. Specifies what will be done in the frame slot.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ScheduleTableEntry"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the schedule table entry.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScheduleTableEntry.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="-10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DELAY" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Relative delay between this tableEntry and the start of the successor in the schedule table in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScheduleTableEntry.delay";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSITION-IN-TABLE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Relative position in the schedule table. The first entry index in the schedule table is 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ScheduleTableEntry.positionInTable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SpecialData::Sd -->
   <xsd:group name="SD">
      <xsd:annotation>
         <xsd:documentation>This class represents a primitive element in a special data group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sd"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:VERBATIM-STRING-PLAIN--SIMPLE">
            <xsd:annotation>
               <xsd:documentation>This is the value of the special data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Sd.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="false";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class SpecialData::Sd -->
   <xsd:attributeGroup name="SD">
      <xsd:annotation>
         <xsd:documentation>This class represents a primitive element in a special data group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sd"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="GID" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attributes specifies an identifier. Gid comes from the SGML/XML-Term "Generic Identifier" which is the element name in XML. The role of this attribute is the same as the name of an XML - element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Sd.gid";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute ref="xml:space">
         <xsd:annotation>
            <xsd:documentation>This attribute is used to signal an intention that in that element, white space should be preserved by applications. It is defined according to xml:space as declared by W3C.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Sd.xmlSpace";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true";xml.attributeRef="true";xml.enforceMinMultiplicity="true";xml.name="space";xml.nsPrefix="xml"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class SpecialData::Sd -->
   <xsd:complexType name="SD">
      <xsd:annotation>
         <xsd:documentation>This class represents a primitive element in a special data group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sd"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:VERBATIM-STRING-PLAIN--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:SD"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::SdClientConfig -->
   <xsd:group name="SD-CLIENT-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Client configuration for Service-Discovery.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAPABILITY-RECORDS">
            <xsd:annotation>
               <xsd:documentation>A sequence of records to store arbitrary name/value pairs conveying additional information about the named service.
Capability records shall only be existing if the respective SdClientConfig is composed by a ConsumedServiceInstance (see constr_3260).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig.capabilityRecord";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TAG-WITH-OPTIONAL-VALUE" type="AR:TAG-WITH-OPTIONAL-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVICE-MAJOR-VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Major version number of the Service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig.clientServiceMajorVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-SERVICE-MINOR-VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minor version number of the Service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig.clientServiceMinorVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-FIND-BEHAVIOR" type="AR:INITIAL-SD-DELAY-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Controls initial find behavior of clients.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig.initialFindBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-RESPONSE-DELAY" type="AR:REQUEST-RESPONSE-DELAY">
            <xsd:annotation>
               <xsd:documentation>Maximum/Minimum allowable response delay to entries received by multicast in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig.requestResponseDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TTL" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>TTL for Request and Subscribe messages.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig.ttl";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::SdClientConfig -->
   <xsd:complexType abstract="false" mixed="false" name="SD-CLIENT-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Client configuration for Service-Discovery.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdClientConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SD-CLIENT-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::SdServerConfig -->
   <xsd:group name="SD-SERVER-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Server configuration for Service-Discovery.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAPABILITY-RECORDS">
            <xsd:annotation>
               <xsd:documentation>A sequence of records to store arbitrary name/value pairs conveying additional information about the named service.
Capability records shall only be existing if the respective SdServerConfig is composed by a ProvidedServiceInstance (see constr_3259).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.capabilityRecord";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TAG-WITH-OPTIONAL-VALUE" type="AR:TAG-WITH-OPTIONAL-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-OFFER-BEHAVIOR" type="AR:INITIAL-SD-DELAY-CONFIG">
            <xsd:annotation>
               <xsd:documentation>Controls offer behavior of the server.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.initialOfferBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFER-CYCLIC-DELAY" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Optional attribute to define cyclic offers. Cyclic offer is active, if the delay is set (in seconds).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.offerCyclicDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUEST-RESPONSE-DELAY" type="AR:REQUEST-RESPONSE-DELAY">
            <xsd:annotation>
               <xsd:documentation>Maximum/Minimum allowable response delay to entries received by multicast in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.requestResponseDelay";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVER-SERVICE-MAJOR-VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Major version number of the Service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.serverServiceMajorVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVER-SERVICE-MINOR-VERSION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minor version number of the Service.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.serverServiceMinorVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TTL" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Time to live. Shall be a positive value (sInt32).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig.ttl";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::SdServerConfig -->
   <xsd:complexType abstract="false" mixed="false" name="SD-SERVER-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Server configuration for Service-Discovery.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdServerConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SD-SERVER-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SpecialData::Sdf -->
   <xsd:group name="SDF">
      <xsd:annotation>
         <xsd:documentation>This class represents a numerical value in a special data group which may be subject to variability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sdf"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This is the value of the special data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Sdf.value";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class SpecialData::Sdf -->
   <xsd:attributeGroup name="SDF">
      <xsd:annotation>
         <xsd:documentation>This class represents a numerical value in a special data group which may be subject to variability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sdf"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="GID" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attributes specifies an identifier. Gid comes from the SGML/XML-Term "Generic Identifier" which is the element name in XML. The role of this attribute is the same as the name of an XML - element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Sdf.gid";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class SpecialData::Sdf -->
   <xsd:complexType abstract="false" mixed="false" name="SDF">
      <xsd:annotation>
         <xsd:documentation>This class represents a numerical value in a special data group which may be subject to variability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sdf"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SDF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:SDF"/>
   </xsd:complexType>
   <!-- element group for class SpecialData::Sdg -->
   <xsd:group name="SDG">
      <xsd:annotation>
         <xsd:documentation>Sdg (SpecialDataGroup) is a generic model which can be used to keep arbitrary information which is not explicitly modeled in the meta-model. 

Sdg can have various contents as defined by sdgContentsType. Special Data should only be used moderately since all elements should be defined in the meta-model. 

Thereby SDG should be considered as a temporary solution when no explicit model is available. If an sdgCaption is available, it is possible to establish a reference to the sdg structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sdg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG-CAPTION" type="AR:SDG-CAPTION">
            <xsd:annotation>
               <xsd:documentation>This aggregation allows to assign the properties of Identifiable to the sdg. By this, a shortName etc. can be assigned to the Sdg.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Sdg.sdgCaption";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG-CAPTION-REF">
            <xsd:annotation>
               <xsd:documentation>This association allows to reuse an already existing caption.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Sdg.sdgCaptionRef";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.name="SDG-CAPTION-REF";xml.sequenceOffset="25"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SDG-CAPTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:SDG-CONTENTS"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Sdg.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class SpecialData::Sdg -->
   <xsd:attributeGroup name="SDG">
      <xsd:annotation>
         <xsd:documentation>Sdg (SpecialDataGroup) is a generic model which can be used to keep arbitrary information which is not explicitly modeled in the meta-model. 

Sdg can have various contents as defined by sdgContentsType. Special Data should only be used moderately since all elements should be defined in the meta-model. 

Thereby SDG should be considered as a temporary solution when no explicit model is available. If an sdgCaption is available, it is possible to establish a reference to the sdg structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sdg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="GID" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attributes specifies an identifier. Gid comes from the SGML/XML-Term "Generic Identifier" which is the element name in XML. The role of this attribute is the same as the name of an XML - element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Sdg.gid";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class SpecialData::Sdg -->
   <xsd:complexType abstract="false" mixed="false" name="SDG">
      <xsd:annotation>
         <xsd:documentation>Sdg (SpecialDataGroup) is a generic model which can be used to keep arbitrary information which is not explicitly modeled in the meta-model. 

Sdg can have various contents as defined by sdgContentsType. Special Data should only be used moderately since all elements should be defined in the meta-model. 

Thereby SDG should be considered as a temporary solution when no explicit model is available. If an sdgCaption is available, it is possible to establish a reference to the sdg structure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Sdg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SDG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:SDG"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgAbstractForeignReference -->
   <xsd:group name="SDG-ABSTRACT-FOREIGN-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>An abstract reference that can point to any referrable object in an AUTOSAR Model.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgAbstractForeignReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEST-META-CLASS" type="AR:META-CLASS-NAME">
            <xsd:annotation>
               <xsd:documentation>specifies the destination meta class of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgAbstractForeignReference.destMetaClass";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SpecialDataDef::SdgAbstractPrimitiveAttribute -->
   <xsd:group name="SDG-ABSTRACT-PRIMITIVE-ATTRIBUTE">
      <xsd:annotation>
         <xsd:documentation>Describes primitive attributes of a special data group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgAbstractPrimitiveAttribute"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class SpecialDataDef::SdgAggregationWithVariation -->
   <xsd:group name="SDG-AGGREGATION-WITH-VARIATION">
      <xsd:annotation>
         <xsd:documentation>Describes that the Sdg may contain another Sdg. The gid of the nested Sdg is defined by subSdg. 

Represents 'sdg'.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgAggregationWithVariation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUB-SDG-REF">
            <xsd:annotation>
               <xsd:documentation>Supported sub Sdg Class</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgAggregationWithVariation.subSdg";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SDG-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgAggregationWithVariation -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-AGGREGATION-WITH-VARIATION">
      <xsd:annotation>
         <xsd:documentation>Describes that the Sdg may contain another Sdg. The gid of the nested Sdg is defined by subSdg. 

Represents 'sdg'.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgAggregationWithVariation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-ELEMENT-WITH-GID"/>
         <xsd:group ref="AR:ABSTRACT-VARIATION-RESTRICTION"/>
         <xsd:group ref="AR:SDG-AGGREGATION-WITH-VARIATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgAttribute -->
   <xsd:group name="SDG-ATTRIBUTE">
      <xsd:annotation>
         <xsd:documentation>Describes the attributes of an Sdg.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgAttribute"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class SpecialData::SdgCaption -->
   <xsd:group name="SDG-CAPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the caption of a special data group. This allows to have some parts of special data as identifiable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgCaption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This represents a general but brief (one paragraph) description what the special data in question is about. It is only one paragraph! Desc is intended to be collected into overview tables. This property helps a human reader to identify the special data in question.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgCaption.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecialData::SdgCaption -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-CAPTION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the caption of a special data group. This allows to have some parts of special data as identifiable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgCaption"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:SDG-CAPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="SDG-CAPTION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SDG-CAPTION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SpecialDataDef::SdgClass -->
   <xsd:group name="SDG-CLASS">
      <xsd:annotation>
         <xsd:documentation>An SdgClass specifies the name and structure of the SDG that may be used to store proprietary data in an AUTOSAR model. 

The SdgClass is similar to an UML stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTENDS-META-CLASS" type="AR:META-CLASS-NAME">
            <xsd:annotation>
               <xsd:documentation>The AUTOSAR Meta-Class that may be extended by this SdgClass.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgClass.extendsMetaClass";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CAPTION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies if a caption is required. Note: only Sdgs that have a caption can be referenced</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgClass.caption";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ATTRIBUTES">
            <xsd:annotation>
               <xsd:documentation>Defintion of the structure of the Sdg</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgClass.attribute";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG-AGGREGATION-WITH-VARIATION" type="AR:SDG-AGGREGATION-WITH-VARIATION"/>
                  <xsd:element name="SDG-FOREIGN-REFERENCE" type="AR:SDG-FOREIGN-REFERENCE"/>
                  <xsd:element name="SDG-FOREIGN-REFERENCE-WITH-VARIATION" type="AR:SDG-FOREIGN-REFERENCE-WITH-VARIATION"/>
                  <xsd:element name="SDG-PRIMITIVE-ATTRIBUTE" type="AR:SDG-PRIMITIVE-ATTRIBUTE"/>
                  <xsd:element name="SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION" type="AR:SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION"/>
                  <xsd:element name="SDG-REFERENCE" type="AR:SDG-REFERENCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG-CONSTRAINT-REFS">
            <xsd:annotation>
               <xsd:documentation>Semantic constraints that restrict the structure of the special data group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgClass.sdgConstraint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG-CONSTRAINT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TRACEABLE-TEXT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgClass -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-CLASS">
      <xsd:annotation>
         <xsd:documentation>An SdgClass specifies the name and structure of the SDG that may be used to store proprietary data in an AUTOSAR model. 

The SdgClass is similar to an UML stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgClass"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SDG-ELEMENT-WITH-GID"/>
         <xsd:group ref="AR:SDG-CLASS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SDG-CLASS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SDG-CLASS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SpecialData::SdgContents -->
   <xsd:group name="SDG-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the possible contents of a special data group. It can be an arbitrary mix of references, of primitive special data and nested special data groups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="SDX-REF">
               <xsd:annotation>
                  <xsd:documentation>Reference to any identifiable element. This allows to use Sdg even to establish arbitrary relationships.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents.sdx";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="SDXF" type="AR:REFERRABLE-REF-CONDITIONAL">
               <xsd:annotation>
                  <xsd:documentation>Additional reference with variant support.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents.sdxf";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SD" type="AR:SD">
               <xsd:annotation>
                  <xsd:documentation>This is one particular special data element.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents.sd";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SDG" type="AR:SDG">
               <xsd:annotation>
                  <xsd:documentation>This aggregation allows to express nested special data groups. By this, any structure can be represented in SpeicalData.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents.sdg";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SDF" type="AR:SDF">
               <xsd:annotation>
                  <xsd:documentation>This is one particular special data element.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents.sdf";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class SpecialData::SdgContents -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-CONTENTS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the possible contents of a special data group. It can be an arbitrary mix of references, of primitive special data and nested special data groups.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgContents"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SDG-CONTENTS"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgDef -->
   <xsd:group name="SDG-DEF">
      <xsd:annotation>
         <xsd:documentation>A SdgDef groups several SdgClasses which belong to the same extension.

The concept of an SdgDef is similiar to an UML Profile.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SdgDefs";mmt.qualifiedName="SdgDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG-CLASSES">
            <xsd:annotation>
               <xsd:documentation>The owned sdgClasses which define the structure of the Sdgs</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgDef.sdgClass";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="SDG-CLASSES"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SDG-CLASS" type="AR:SDG-CLASS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgDef -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-DEF">
      <xsd:annotation>
         <xsd:documentation>A SdgDef groups several SdgClasses which belong to the same extension.

The concept of an SdgDef is similiar to an UML Profile.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SdgDefs";mmt.qualifiedName="SdgDef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SDG-DEF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SDG-DEF--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SDG-DEF"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SpecialDataDef::SdgElementWithGid -->
   <xsd:group name="SDG-ELEMENT-WITH-GID">
      <xsd:annotation>
         <xsd:documentation>A special data group element with gid is an abstract element that shall have a name (gid, "Generic Identifier").</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgElementWithGid"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="GID" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the name that identifies the element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgElementWithGid.gid";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SpecialDataDef::SdgForeignReference -->
   <xsd:group name="SDG-FOREIGN-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>A reference without variation support that can point to any referrable object in an AUTOSAR Model. This class accepts the special data "Sdx" reference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgForeignReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgForeignReference -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-FOREIGN-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>A reference without variation support that can point to any referrable object in an AUTOSAR Model. This class accepts the special data "Sdx" reference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgForeignReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-ABSTRACT-FOREIGN-REFERENCE"/>
         <xsd:group ref="AR:SDG-FOREIGN-REFERENCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgForeignReferenceWithVariation -->
   <xsd:group name="SDG-FOREIGN-REFERENCE-WITH-VARIATION">
      <xsd:annotation>
         <xsd:documentation>A reference with variation support that can point to any referrable object in an AUTOSAR Model. This class accepts the special data "Sdxf" reference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgForeignReferenceWithVariation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgForeignReferenceWithVariation -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-FOREIGN-REFERENCE-WITH-VARIATION">
      <xsd:annotation>
         <xsd:documentation>A reference with variation support that can point to any referrable object in an AUTOSAR Model. This class accepts the special data "Sdxf" reference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgForeignReferenceWithVariation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-ABSTRACT-FOREIGN-REFERENCE"/>
         <xsd:group ref="AR:ABSTRACT-VARIATION-RESTRICTION"/>
         <xsd:group ref="AR:SDG-FOREIGN-REFERENCE-WITH-VARIATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgPrimitiveAttribute -->
   <xsd:group name="SDG-PRIMITIVE-ATTRIBUTE">
      <xsd:annotation>
         <xsd:documentation>Describes primitive special data attributes without variation.

This class accepts an special data "sd"attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgPrimitiveAttribute"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgPrimitiveAttribute -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-PRIMITIVE-ATTRIBUTE">
      <xsd:annotation>
         <xsd:documentation>Describes primitive special data attributes without variation.

This class accepts an special data "sd"attribute.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgPrimitiveAttribute"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-ELEMENT-WITH-GID"/>
         <xsd:group ref="AR:ABSTRACT-VALUE-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ABSTRACT-PRIMITIVE-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-PRIMITIVE-ATTRIBUTE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgPrimitiveAttributeWithVariation -->
   <xsd:group name="SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION">
      <xsd:annotation>
         <xsd:documentation>Describes a primitive numerical special data attribute with variation.

This class accepts an special data "sdf" element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgPrimitiveAttributeWithVariation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgPrimitiveAttributeWithVariation -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION">
      <xsd:annotation>
         <xsd:documentation>Describes a primitive numerical special data attribute with variation.

This class accepts an special data "sdf" element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgPrimitiveAttributeWithVariation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-ELEMENT-WITH-GID"/>
         <xsd:group ref="AR:ABSTRACT-VALUE-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ABSTRACT-PRIMITIVE-ATTRIBUTE"/>
         <xsd:group ref="AR:ABSTRACT-VARIATION-RESTRICTION"/>
         <xsd:group ref="AR:SDG-PRIMITIVE-ATTRIBUTE-WITH-VARIATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SpecialDataDef::SdgReference -->
   <xsd:group name="SDG-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>A reference without variation support that refers to a Sdg. 

Represents 'sdgCaptionRef'.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEST-SDG-REF">
            <xsd:annotation>
               <xsd:documentation>Destination type of the SdgReference</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgReference.destSdg";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SDG-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecialDataDef::SdgReference -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>A reference without variation support that refers to a Sdg. 

Represents 'sdgCaptionRef'.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-MULTIPLICITY-RESTRICTION"/>
         <xsd:group ref="AR:SDG-ATTRIBUTE"/>
         <xsd:group ref="AR:SDG-REFERENCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::SdgTailoring -->
   <xsd:group name="SDG-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Describes if the referenced Sdg may be attached to the current class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG-CLASS-REF">
            <xsd:annotation>
               <xsd:documentation>Specification of the structure of the Special Data Group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SdgTailoring.sdgClass";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SDG-CLASS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::SdgTailoring -->
   <xsd:complexType abstract="false" mixed="false" name="SDG-TAILORING">
      <xsd:annotation>
         <xsd:documentation>Describes if the referenced Sdg may be attached to the current class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SdgTailoring"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:DATA-FORMAT-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:RESTRICTION-WITH-SEVERITY"/>
         <xsd:group ref="AR:SDG-TAILORING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class MemorySectionUsage::SectionNamePrefix -->
   <xsd:group name="SECTION-NAME-PREFIX">
      <xsd:annotation>
         <xsd:documentation>A prefix to be used for generated code artifacts defining a memory section name in the source code of the using module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SectionNamePrefix"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTED-IN-REF">
            <xsd:annotation>
               <xsd:documentation>Optional reference that allows to Indicate the code artifact (header file) containing the preprocessor implementation of memory sections with this prefix.

The usage of this link supersedes the usage of a memory mapping header with the default name (derived from the BswModuleDescription's shortName).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SectionNamePrefix.implementedIn";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DEPENDENCY-ON-ARTIFACT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SectionNamePrefix.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class MemorySectionUsage::SectionNamePrefix -->
   <xsd:complexType abstract="false" mixed="false" name="SECTION-NAME-PREFIX">
      <xsd:annotation>
         <xsd:documentation>A prefix to be used for generated code artifacts defining a memory section name in the source code of the using module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SectionNamePrefix"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:IMPLEMENTATION-PROPS"/>
         <xsd:group ref="AR:SECTION-NAME-PREFIX"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="SECTION-NAME-PREFIX--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SECTION-NAME-PREFIX"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::SecureCommunicationAuthenticationProps -->
   <xsd:group name="SECURE-COMMUNICATION-AUTHENTICATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>Authentication properties used to configure SecuredIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationAuthenticationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTH-ALGORITHM" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the authentication algorithm used for MAC generation and verification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationAuthenticationProps.authAlgorithm";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTH-INFO-TX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the length in bits of the authentication code to be included in the payload of the authenticated Pdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationAuthenticationProps.authInfoTxLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SecureCommunicationAuthenticationProps -->
   <xsd:complexType abstract="false" mixed="false" name="SECURE-COMMUNICATION-AUTHENTICATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>Authentication properties used to configure SecuredIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationAuthenticationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SECURE-COMMUNICATION-AUTHENTICATION-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SECURE-COMMUNICATION-AUTHENTICATION-PROPS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SECURE-COMMUNICATION-AUTHENTICATION-PROPS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::SecureCommunicationFreshnessProps -->
   <xsd:group name="SECURE-COMMUNICATION-FRESHNESS-PROPS">
      <xsd:annotation>
         <xsd:documentation>Freshness properties used to configure SecuredIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-COUNTER-SYNC-ATTEMPTS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the number of Freshness Counter re-synchronization attempts when a verification failed for a Secured I-PDU. If the value is zero, there will be no additional verification attempt to synchronize with a potentially better fitting Freshness Counter value. This attribute is only applicable if useFreshnessTimestamp is FALSE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps.freshnessCounterSyncAttempts";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-TIMESTAMP-TIME-PERIOD-FACTOR" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines a factor that specifies the time period for the Freshness Timestamp. It holds a multiplication factor that specifies the concrete meaning of a Freshness Timestamp increment by one on basis of microseconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps.freshnessTimestampTimePeriodFactor";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-VALUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the complete length in bits of the Freshness Value. As long as the key doesn't change the counter shall not overflow. The length of the counter shall be determined based on the expected life time of the corresponding key and frequency of usage of the counter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps.freshnessValueLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-VALUE-TX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the length in bits of the Freshness Value to be included in the payload of the Secured I-PDU. This length is specific to the least significant bits of the complete Freshness Counter. If the attribute is 0 no Freshness Value is included in the Secured I-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps.freshnessValueTxLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-FRESHNESS-TIMESTAMP" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies whether the Freshness Value is generated through individual Freshness Counters or by a Timestamps. The value is set to TRUE when Timestamps are used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps.useFreshnessTimestamp";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SecureCommunicationFreshnessProps -->
   <xsd:complexType abstract="false" mixed="false" name="SECURE-COMMUNICATION-FRESHNESS-PROPS">
      <xsd:annotation>
         <xsd:documentation>Freshness properties used to configure SecuredIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationFreshnessProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SECURE-COMMUNICATION-FRESHNESS-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SECURE-COMMUNICATION-FRESHNESS-PROPS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SECURE-COMMUNICATION-FRESHNESS-PROPS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::SecureCommunicationProps -->
   <xsd:group name="SECURE-COMMUNICATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains configuration settings that are specific for an individual SecuredIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTH-ALGORITHM" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the authentication algorithm used for MAC generation and verification.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.authAlgorithm";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTH-DATA-FRESHNESS-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the length in bits of the authentic PDU data that is passed to the SWC that verifies and generates the Freshness.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.authDataFreshnessLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTH-DATA-FRESHNESS-START-POSITION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This value determines the start position in bits of the Authentic PDU that shall be passed on to the SWC that verifies and generates the Freshness.. The bit position starts counting from the MSB of the first byte of the PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.authDataFreshnessStartPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTH-INFO-TX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the length in bits of the authentication code to be included in the payload of the authenticated Pdu.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.authInfoTxLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTHENTICATION-BUILD-ATTEMPTS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the number of authentication build attempts.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.authenticationBuildAttempts";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTHENTICATION-RETRIES" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the additional number of authentication attempts that are to be carried out when the generation of the authentication information failed for a given SecuredIPdu. If zero is set than only one authentication attempt is done.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.authenticationRetries";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines a unique numerical identifier for the Secured I-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.dataId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-COUNTER-SYNC-ATTEMPTS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the number of Freshness Counter re-synchronization attempts when a verification failed for a Secured I-PDU. If the value is zero, there will be no additional verification attempt to synchronize with a potentially better fitting Freshness Counter value. This attribute is only applicable if useFreshnessTimestamp is FALSE.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.freshnessCounterSyncAttempts";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-TIMESTAMP-TIME-PERIOD-FACTOR" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines a factor that specifies the time period for the Freshness Timestamp. It holds a multiplication factor that specifies the concrete meaning of a Freshness Timestamp increment by one on basis of microseconds.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.freshnessTimestampTimePeriodFactor";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-VALUE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the Id of the Freshness Value.
The Freshness Value might be a normal counter or a time value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.freshnessValueId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-VALUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the complete length in bits of the Freshness Value. As long as the key doesn't change the counter shall not overflow. The length of the counter shall be determined based on the expected life time of the corresponding key and frequency of usage of the counter.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.freshnessValueLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-VALUE-TX-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the length in bits of the Freshness Value to be included in the payload of the Secured I-PDU. This length is specific to the least significant bits of the complete Freshness Counter. If the attribute is 0 no Freshness Value is included in the Secured I-PDU.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.freshnessValueTxLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-LINK-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>SecOC links an AuthenticIPdu and CryptographicIPdu together by repeating a specific part (Message Linker) of the AuthenticIPdu in the CryptographicIPdu. This attribute defines the length in bits of the messageLinker.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.messageLinkLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-LINK-POSITION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>SecOC links an AuthenticIPdu and CryptographicIPdu together by repeating a specific part (Message Linker) of the AuthenticIPdu in the CryptographicIPdu. This attribute defines the startPosition in bits of the messageLinker.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.messageLinkPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECONDARY-FRESHNESS-VALUE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the Id of the Secondary Freshness Value.
The Secondary Freshness Value might be a normal counter or a time value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps.secondaryFreshnessValueId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-FRESHNESS-TIMESTAMP" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies whether the Freshness Value is generated through individual Freshness Counters or by a Timestamps. The value is set to TRUE when Timestamps are used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SecureCommunicationProps.useFreshnessTimestamp";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SecureCommunicationProps -->
   <xsd:complexType abstract="false" mixed="false" name="SECURE-COMMUNICATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains configuration settings that are specific for an individual SecuredIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SECURE-COMMUNICATION-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::SecureCommunicationPropsSet -->
   <xsd:group name="SECURE-COMMUNICATION-PROPS-SET">
      <xsd:annotation>
         <xsd:documentation>Collection of properties used to configure SecuredIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SecureCommunicationPropsSet";mmt.qualifiedName="SecureCommunicationPropsSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTHENTICATION-PROPSS">
            <xsd:annotation>
               <xsd:documentation>Authentication properties used to configure SecuredIPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationPropsSet.authenticationProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SECURE-COMMUNICATION-AUTHENTICATION-PROPS" type="AR:SECURE-COMMUNICATION-AUTHENTICATION-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-PROPSS">
            <xsd:annotation>
               <xsd:documentation>Freshness properties used to configure SecuredIPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecureCommunicationPropsSet.freshnessProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SECURE-COMMUNICATION-FRESHNESS-PROPS" type="AR:SECURE-COMMUNICATION-FRESHNESS-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SecureCommunicationPropsSet -->
   <xsd:complexType abstract="false" mixed="false" name="SECURE-COMMUNICATION-PROPS-SET">
      <xsd:annotation>
         <xsd:documentation>Collection of properties used to configure SecuredIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SecureCommunicationPropsSet";mmt.qualifiedName="SecureCommunicationPropsSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:SECURE-COMMUNICATION-PROPS-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::SecureOnBoardCommunicationNeeds -->
   <xsd:group name="SECURE-ON-BOARD-COMMUNICATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the need for the existence of the SecOc module on the respective ECU. This class currently contains no attributes. An instance of this class is used to find out which ports of a software-component deal with the administration of secure communication in order to group the request and response ports.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureOnBoardCommunicationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::SecureOnBoardCommunicationNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="SECURE-ON-BOARD-COMMUNICATION-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the need for the existence of the SecOc module on the respective ECU. This class currently contains no attributes. An instance of this class is used to find out which ports of a software-component deal with the administration of secure communication in order to group the request and response ports.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SecureOnBoardCommunicationNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::SecuredIPdu -->
   <xsd:group name="SECURED-I-PDU">
      <xsd:annotation>
         <xsd:documentation>If useAsCryptographicPdu is not set or set to false this IPdu contains the payload of an Authentic IPdu supplemented by additional Authentication Information (Freshness Counter and an Authenticator).

If useAsCryptographicPdu is set to true this IPdu contains the Authenticator for a payload that is transported in a separate message. The separate Authentic IPdu is described by the Pdu that is referenced with the payload reference from this SecuredIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="SecuredIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTHENTICATION-PROPS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to authentication properties that are valid for this SecuredIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecuredIPdu.authenticationProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SECURE-COMMUNICATION-AUTHENTICATION-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRESHNESS-PROPS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to freshness properties that are valid for this SecuredIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecuredIPdu.freshnessProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SECURE-COMMUNICATION-FRESHNESS-PROPS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PAYLOAD-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Pdu that will be protected against unauthorized manipulation and replay attacks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecuredIPdu.payload";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECURE-COMMUNICATION-PROPS" type="AR:SECURE-COMMUNICATION-PROPS">
            <xsd:annotation>
               <xsd:documentation>Specific configuration properties for this SecuredIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecuredIPdu.secureCommunicationProps";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-AS-CRYPTOGRAPHIC-I-PDU" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If this attribute is set to true the SecuredIPdu contains the Authentication Information for an AuthenticIPdu that is transmitted in a separate message. The AuthenticIPdu contains the original payload, i.e. the secured data.

If this attribute is set to false this SecuredIPdu contains the payload of an Authentic IPdu supplemented by additional Authentication Information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SecuredIPdu.useAsCryptographicIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SecuredIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="SECURED-I-PDU">
      <xsd:annotation>
         <xsd:documentation>If useAsCryptographicPdu is not set or set to false this IPdu contains the payload of an Authentic IPdu supplemented by additional Authentication Information (Freshness Counter and an Authenticator).

If useAsCryptographicPdu is set to true this IPdu contains the Authenticator for a payload that is transported in a separate message. The separate Authentic IPdu is described by the Pdu that is referenced with the payload reference from this SecuredIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="SecuredIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:SECURED-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::SegmentPosition -->
   <xsd:group name="SEGMENT-POSITION">
      <xsd:annotation>
         <xsd:documentation>The StaticPart and the DynamicPart can be
separated in multiple segments within the multiplexed PDU. 

The ISignalIPdus are copied bit by bit into the MultiplexedIPdu. If the space of the first segment is 5 bits large than the first 5 bits of the ISignalIPdu are copied into this first segment and so on.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SegmentPosition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEGMENT-BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the order of the bytes of the segment and the packing into the MultiplexedIPdu. 
Please consider that [constr_3247] and [constr_3224] are restricting the usage of this attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SegmentPosition.segmentByteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEGMENT-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Data Length of the segment in bits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SegmentPosition.segmentLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEGMENT-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Segments bit position relatively to the beginning of a multiplexed IPdu.

Note that the absolute position of the segment in the MultiplexedIPdu is determined by the definition of the segmentByteOrder attribute of the SegmentPosition. If Big Endian is specified, the start position indicates the bit position of the most significant bit in the IPdu. If Little Endian is specified, the start position indicates the bit position of the least significant bit in the IPdu. In AUTOSAR the bit counting is always set to "sawtooth" and the bit order is set to "Decreasing". The bit counting in byte 0 starts with bit 0 (least significant bit). The most significant bit in byte 0 is bit 7.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SegmentPosition.segmentPosition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SegmentPosition -->
   <xsd:complexType abstract="false" mixed="false" name="SEGMENT-POSITION">
      <xsd:annotation>
         <xsd:documentation>The StaticPart and the DynamicPart can be
separated in multiple segments within the multiplexed PDU. 

The ISignalIPdus are copied bit by bit into the MultiplexedIPdu. If the space of the first segment is 5 bits large than the first 5 bits of the ISignalIPdu are copied into this first segment and so on.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SegmentPosition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SEGMENT-POSITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::SenderAnnotation -->
   <xsd:group name="SENDER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation of a sender port, specifying properties of data elements that don't affect communication or generation of the RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::SenderAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation of a sender port, specifying properties of data elements that don't affect communication or generation of the RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:SENDER-RECEIVER-ANNOTATION"/>
         <xsd:group ref="AR:SENDER-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Communication::SenderComSpec -->
   <xsd:group name="SENDER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes for a sender port (PPortPrototype typed by SenderReceiverInterface).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPOSITE-NETWORK-REPRESENTATIONS">
            <xsd:annotation>
               <xsd:documentation>This represents a CompositeNetworkRepresentation defined in the context of a SenderComSpec.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec.compositeNetworkRepresentation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPOSITE-NETWORK-REPRESENTATION" type="AR:COMPOSITE-NETWORK-REPRESENTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Data element these quality of service attributes apply to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-OUT-OF-RANGE" type="AR:HANDLE-OUT-OF-RANGE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls how out-of-range values shall be dealt with.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec.handleOutOfRange";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NETWORK-REPRESENTATION" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>A networkRepresentation is used to define how the dataElement is mapped to a communication bus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec.networkRepresentation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMISSION-ACKNOWLEDGE" type="AR:TRANSMISSION-ACKNOWLEDGEMENT-REQUEST">
            <xsd:annotation>
               <xsd:documentation>Requested transmission acknowledgement for data element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec.transmissionAcknowledge";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USES-END-TO-END-PROTECTION" type="AR:BOOLEAN-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This indicates whether the corresponding dataElement shall be transmitted using end-to-end protection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderComSpec.usesEndToEndProtection";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataMapping::SenderRecArrayElementMapping -->
   <xsd:group name="SENDER-REC-ARRAY-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The SenderRecArrayElement may be a primitive one or a composite one. If the element is primitive, it will be mapped to the SystemSignal (multiplicity 1). If the VariableDataPrototype that is referenced by SenderReceiverToSignalGroupMapping is typed by an ApplicationDataType the reference to the ApplicationArrayElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference to the ImplementationArrayElement shall be used. 

If the element is composite, there will be no mapping to the SystemSignal (multiplicity 0). In this case the ArrayElementMapping element will aggregate the TypeMapping element. In that way also the composite datatypes can be mapped to SystemSignals. 

Regardless whether composite or primitive array element is mapped the indexed element always needs to be specified.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPLEX-TYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>This aggregation will be used if the element is composite.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayElementMapping.complexTypeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="SENDER-REC-ARRAY-TYPE-MAPPING" type="AR:SENDER-REC-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="SENDER-REC-RECORD-TYPE-MAPPING" type="AR:SENDER-REC-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INDEXED-ARRAY-ELEMENT" type="AR:INDEXED-ARRAY-ELEMENT">
            <xsd:annotation>
               <xsd:documentation>Reference to an indexed array element in the context of the dataElement or in the context of a composite element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayElementMapping.indexedArrayElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the system signal used to carry the primitive ApplicationArrayElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayElementMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderRecArrayElementMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-REC-ARRAY-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The SenderRecArrayElement may be a primitive one or a composite one. If the element is primitive, it will be mapped to the SystemSignal (multiplicity 1). If the VariableDataPrototype that is referenced by SenderReceiverToSignalGroupMapping is typed by an ApplicationDataType the reference to the ApplicationArrayElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference to the ImplementationArrayElement shall be used. 

If the element is composite, there will be no mapping to the SystemSignal (multiplicity 0). In this case the ArrayElementMapping element will aggregate the TypeMapping element. In that way also the composite datatypes can be mapped to SystemSignals. 

Regardless whether composite or primitive array element is mapped the indexed element always needs to be specified.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SENDER-REC-ARRAY-ELEMENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SenderRecArrayTypeMapping -->
   <xsd:group name="SENDER-REC-ARRAY-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is an Array, the "ArrayTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-ELEMENT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Each ApplicationArrayElement must be mapped on a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayTypeMapping.arrayElementMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SENDER-REC-ARRAY-ELEMENT-MAPPING" type="AR:SENDER-REC-ARRAY-ELEMENT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderRecArrayTypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-REC-ARRAY-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is an Array, the "ArrayTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecArrayTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SENDER-REC-COMPOSITE-TYPE-MAPPING"/>
         <xsd:group ref="AR:SENDER-REC-ARRAY-TYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SenderRecCompositeTypeMapping -->
   <xsd:group name="SENDER-REC-COMPOSITE-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Two mappings exist for the composite data types:
"ArrayTypeMapping" and "RecordTypeMapping".
In both, a primitive datatype will be mapped to a system signal. 

But it is also possible to combine the arrays and the records, so that an "array" could be an element of a "record" and in the same manner a "record" could be an element of an "array". Nesting these data types is also possible.

If an element of a composite data type is again a composite one, the "CompositeTypeMapping" element will be used one more time (aggregation between the ArrayElementMapping and CompositeTypeMapping or aggregation between the RecordElementMapping and CompositeTypeMapping).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecCompositeTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class DataMapping::SenderRecRecordElementMapping -->
   <xsd:group name="SENDER-REC-RECORD-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a primitive record element to a SystemSignal. If the VariableDataPrototype that is referenced by SenderReceiverToSignalGroupMapping is typed by an ApplicationDataType the reference applicationRecordElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference implementationRecordElement shall be used. Either the implementationRecordElement or applicationRecordElement reference shall be used. 

If the element is composite, there will be no mapping to the SystemSignal (multiplicity 0). In this case the RecordElementMapping element will aggregate the complexTypeMapping element. In that way also the composite datatypes can be mapped to SystemSignals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-RECORD-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an ApplicationRecordElement in the context of the dataElement or in the context of a composite element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordElementMapping.applicationRecordElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-RECORD-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPLEX-TYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>This aggregation will be used if the element is composite.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordElementMapping.complexTypeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="SENDER-REC-ARRAY-TYPE-MAPPING" type="AR:SENDER-REC-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="SENDER-REC-RECORD-TYPE-MAPPING" type="AR:SENDER-REC-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-RECORD-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an ImplementationRecordElement in the context of the dataElement or in the context of a composite element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordElementMapping.implementationRecordElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the system signal used to carry the primitive ApplicationRecordElement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordElementMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderRecRecordElementMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-REC-RECORD-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a primitive record element to a SystemSignal. If the VariableDataPrototype that is referenced by SenderReceiverToSignalGroupMapping is typed by an ApplicationDataType the reference applicationRecordElement shall be used. If the VariableDataPrototype is typed by the ImplementationDataType the reference implementationRecordElement shall be used. Either the implementationRecordElement or applicationRecordElement reference shall be used. 

If the element is composite, there will be no mapping to the SystemSignal (multiplicity 0). In this case the RecordElementMapping element will aggregate the complexTypeMapping element. In that way also the composite datatypes can be mapped to SystemSignals.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SENDER-REC-RECORD-ELEMENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SenderRecRecordTypeMapping -->
   <xsd:group name="SENDER-REC-RECORD-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is a Record, the "RecordTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECORD-ELEMENT-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Each ApplicationRecordElement must be mapped on a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordTypeMapping.recordElementMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SENDER-REC-RECORD-ELEMENT-MAPPING" type="AR:SENDER-REC-RECORD-ELEMENT-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderRecRecordTypeMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-REC-RECORD-TYPE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>If the ApplicationCompositeDataType is a Record, the "RecordTypeMapping" will be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderRecRecordTypeMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SENDER-REC-COMPOSITE-TYPE-MAPPING"/>
         <xsd:group ref="AR:SENDER-REC-RECORD-TYPE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::SenderReceiverAnnotation -->
   <xsd:group name="SENDER-RECEIVER-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation of the data elements in a port that realizes a sender/receiver interface.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPUTED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Flag whether this data element was not measured directly but instead was calculated from possibly several other measured or calculated values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverAnnotation.computed";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>The instance of VariableDataPrototype annotated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverAnnotation.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LIMIT-KIND" type="AR:DATA-LIMIT-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This min or max has not to be mismatched with the min- and max for data-value in a compu-method. For example, this annotation
shows when the result of the calculation performed in a RunnableEntity owned by one AtomicSwComponentType is transmitted to another AtomicSwComponentType whose RunnableEntity will use this value as a limit, e.g. the max.power which can be used by that software-component, or the current min. slip.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverAnnotation.limitKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROCESSING-KIND" type="AR:PROCESSING-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls how data is processed according to the possible values of ProcessingKindEnum.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverAnnotation.processingKind";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataMapping::SenderReceiverCompositeElementToSignalMapping -->
   <xsd:group name="SENDER-RECEIVER-COMPOSITE-ELEMENT-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of an Variable Data Prototype which is aggregated within a composite datatype to a SystemSignal (only one element of the composite data type is mapped).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverCompositeElementToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a data element with a composite datatype from which one element is mapped to a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverCompositeElementToSignalMapping.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the SystemSignal to which one primitive of the composite type is mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverCompositeElementToSignalMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>The CompositeTypeMapping maps one VariableDataPrototype of the composite data type to a SystemSignal.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverCompositeElementToSignalMapping.typeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="SENDER-REC-ARRAY-TYPE-MAPPING" type="AR:SENDER-REC-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="SENDER-REC-RECORD-TYPE-MAPPING" type="AR:SENDER-REC-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderReceiverCompositeElementToSignalMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-RECEIVER-COMPOSITE-ELEMENT-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of an Variable Data Prototype which is aggregated within a composite datatype to a SystemSignal (only one element of the composite data type is mapped).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverCompositeElementToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-MAPPING"/>
         <xsd:group ref="AR:SENDER-RECEIVER-COMPOSITE-ELEMENT-TO-SIGNAL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::SenderReceiverInterface -->
   <xsd:group name="SENDER-RECEIVER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A sender/receiver interface declares a number of data elements to be sent and received.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="SenderReceiverInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>The data elements of this SenderReceiverInterface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverInterface.dataElement";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INVALIDATION-POLICYS">
            <xsd:annotation>
               <xsd:documentation>InvalidationPolicy for a particular dataElement</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverInterface.invalidationPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INVALIDATION-POLICY" type="AR:INVALIDATION-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::SenderReceiverInterface -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-RECEIVER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A sender/receiver interface declares a number of data elements to be sent and received.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="SenderReceiverInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:PORT-INTERFACE"/>
         <xsd:group ref="AR:DATA-INTERFACE"/>
         <xsd:group ref="AR:SENDER-RECEIVER-INTERFACE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SenderReceiverToSignalGroupMapping -->
   <xsd:group name="SENDER-RECEIVER-TO-SIGNAL-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a sender receiver communication data element with a composite datatype to a signal group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a data element with a composite datatype which is mapped to a signal group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalGroupMapping.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNAL-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the signal group, which contain all primitive datatypes of the composite type</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalGroupMapping.signalGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-MAPPING">
            <xsd:annotation>
               <xsd:documentation>The CompositeTypeMapping maps the the ApplicationArrayElements and ApplicationRecordElements to Signals of the SignalGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalGroupMapping.typeMapping";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="SENDER-REC-ARRAY-TYPE-MAPPING" type="AR:SENDER-REC-ARRAY-TYPE-MAPPING"/>
                  <xsd:element name="SENDER-REC-RECORD-TYPE-MAPPING" type="AR:SENDER-REC-RECORD-TYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderReceiverToSignalGroupMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-RECEIVER-TO-SIGNAL-GROUP-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a sender receiver communication data element with a composite datatype to a signal group.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalGroupMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-MAPPING"/>
         <xsd:group ref="AR:SENDER-RECEIVER-TO-SIGNAL-GROUP-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SenderReceiverToSignalMapping -->
   <xsd:group name="SENDER-RECEIVER-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a sender receiver communication data element to a signal.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the data element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalMapping.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the system signal used to carry the data element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SenderReceiverToSignalMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SENDER-RECEIVER-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Mapping of a sender receiver communication data element to a signal.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SenderReceiverToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-MAPPING"/>
         <xsd:group ref="AR:SENDER-RECEIVER-TO-SIGNAL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::SensorActuatorSwComponentType -->
   <xsd:group name="SENSOR-ACTUATOR-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The SensorActuatorSwComponentType introduces the possibility to link from the software representation of a sensor/actuator to its hardware description provided by the ECU Resource Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="SensorActuatorSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SENSOR-ACTUATOR-REF">
            <xsd:annotation>
               <xsd:documentation>Reference from the Sensor Actuator Software Component Type to the description of the actual hardware.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SensorActuatorSwComponentType.sensorActuator";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-DESCRIPTION-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Components::SensorActuatorSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="SENSOR-ACTUATOR-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>The SensorActuatorSwComponentType introduces the possibility to link from the software representation of a sensor/actuator to its hardware description provided by the ECU Resource Template.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="SensorActuatorSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SignalPaths::SeparateSignalPath -->
   <xsd:group name="SEPARATE-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The SeparateSignalPath describes that two SwcToSwcSignals and/or SwcToSwcOperationArguments must not take the same way (Signal Path) in the topology (e.g. Redundancy). 
This means that the signals are not allowed to share 
even a single physical channel in their path.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SeparateSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATIONS">
            <xsd:annotation>
               <xsd:documentation>The SwcToSwcOperationArguments that must not take the same way (Signal Path) in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SeparateSignalPath.operation";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-OPERATION-ARGUMENTS" type="AR:SWC-TO-SWC-OPERATION-ARGUMENTS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNALS">
            <xsd:annotation>
               <xsd:documentation>The SwcToSwcSignals that must not take the same way (Signal Path) in the topology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SeparateSignalPath.signal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-SWC-SIGNAL" type="AR:SWC-TO-SWC-SIGNAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SignalPaths::SeparateSignalPath -->
   <xsd:complexType abstract="false" mixed="false" name="SEPARATE-SIGNAL-PATH">
      <xsd:annotation>
         <xsd:documentation>The SeparateSignalPath describes that two SwcToSwcSignals and/or SwcToSwcOperationArguments must not take the same way (Signal Path) in the topology (e.g. Redundancy). 
This means that the signals are not allowed to share 
even a single physical channel in their path.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SeparateSignalPath"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SIGNAL-PATH-CONSTRAINT"/>
         <xsd:group ref="AR:SEPARATE-SIGNAL-PATH"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SequenceCounterMapping -->
   <xsd:group name="SEQUENCE-COUNTER-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The purpose of sequence counters is to map a response to the correct request of a known client.

The SequenceCounter is mapped to the requestGroup and to the responseGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SequenceCounterMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the SystemSignal with the SequenceCounter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SequenceCounterMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SequenceCounterMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SEQUENCE-COUNTER-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The purpose of sequence counters is to map a response to the correct request of a known client.

The SequenceCounter is mapped to the requestGroup and to the responseGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SequenceCounterMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SEQUENCE-COUNTER-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::SerializationTechnology -->
   <xsd:group name="SERIALIZATION-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>&lt;font color="#0f0f0f"&gt;This element is deprecated and will be removed in future. This information is replaced by the TransformationTechnology element.&lt;/font&gt;
&lt;font color="#0f0f0f"&gt;
&lt;/font&gt;&lt;font color="#0f0f0f"&gt;Old description: Identifies the used serialization technology. The corresponding serialization plugin has to be provided on each affected ECU by the integrator. &lt;/font&gt;</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.recommendedPackage="SerializationTechnologies";mmt.qualifiedName="SerializationTechnology"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Payload serialization technology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SerializationTechnology.protocol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the used serialization technology.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SerializationTechnology.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::SerializationTechnology -->
   <xsd:complexType abstract="false" mixed="false" name="SERIALIZATION-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>&lt;font color="#0f0f0f"&gt;This element is deprecated and will be removed in future. This information is replaced by the TransformationTechnology element.&lt;/font&gt;
&lt;font color="#0f0f0f"&gt;
&lt;/font&gt;&lt;font color="#0f0f0f"&gt;Old description: Identifies the used serialization technology. The corresponding serialization plugin has to be provided on each affected ECU by the integrator. &lt;/font&gt;</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.recommendedPackage="SerializationTechnologies";mmt.qualifiedName="SerializationTechnology"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SERIALIZATION-TECHNOLOGY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SERIALIZATION-TECHNOLOGY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SERIALIZATION-TECHNOLOGY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServerCall::ServerCallPoint -->
   <xsd:group name="SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>If a RunnableEntity owns a ServerCallPoint it is entitled to invoke a particular ClientServerOperation of a specific RPortPrototype of the corresponding AtomicSwComponentType</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-IREF" type="AR:R-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The operation that is called by this runnable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServerCallPoint.operation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time in seconds before the server call times out and returns with an error message. It depends on the call type (synchronous or asynchronous) how this is reported.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServerCallPoint.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServerCallPoint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Communication::ServerComSpec -->
   <xsd:group name="SERVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes for a server port (PPortPrototype and ClientServerInterface).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServerComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>Operation these communication attributes apply to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServerComSpec.operation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="QUEUE-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of call queue on the server side. The queue is implemented by the RTE. The value shall be greater or equal to 1. Setting the value of queueLength to 1 implies that incoming requests are rejected while another request that arrived earlier is being processed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServerComSpec.queueLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-COM-SPEC-PROPSS">
            <xsd:annotation>
               <xsd:documentation>This references the TransformationComSpecProps which define port-specific configuration for data transformation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServerComSpec.transformationComSpecProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-COM-SPEC-PROPS" type="AR:END-TO-END-TRANSFORMATION-COM-SPEC-PROPS"/>
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS" type="AR:USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::ServerComSpec -->
   <xsd:complexType abstract="false" mixed="false" name="SERVER-COM-SPEC">
      <xsd:annotation>
         <xsd:documentation>Communication attributes for a server port (PPortPrototype and ClientServerInterface).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServerComSpec"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:P-PORT-COM-SPEC"/>
         <xsd:group ref="AR:SERVER-COM-SPEC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::ServiceDependency -->
   <xsd:group name="SERVICE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>Collects all dependencies of a software module or component on an  AUTOSAR Service related to a specific item (e.g. an NVRAM Block, a diagnostic event etc.). It defines the quality of service (ServiceNeeds) of this item as well as (optionally) references to additional elements.

This information is required for tools in order to generate the related basic software configuration and ServiceSwComponentTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServiceDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-DATA-TYPES">
            <xsd:annotation>
               <xsd:documentation>This is the role of the assignment data type in the given context.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServiceDependency.assignedDataType";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-DATA-TYPE-ASSIGNMENT" type="AR:ROLE-BASED-DATA-TYPE-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYMBOLIC-NAME-PROPS" type="AR:SYMBOLIC-NAME-PROPS">
            <xsd:annotation>
               <xsd:documentation>This attribute can be taken to contribute to the creation of symbolic name values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ServiceDependency.symbolicNameProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ServiceNeeds::ServiceNeeds -->
   <xsd:group name="SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This expresses the abstract needs that a Software Component or Basic Software Module has on the configuration of an AUTOSAR Service to which it will be connected. "Abstract needs" means that the model abstracts from the Configuration Parameters of the underlying Basic Software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="SERVICE-NEEDS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-MGR-NEEDS"/>
         <xsd:enumeration value="COM-MGR-USER-NEEDS"/>
         <xsd:enumeration value="CRYPTO-SERVICE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:enumeration value="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-COMPONENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-CONTROL-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-INFO-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-IO-CONTROL-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-ROUTINE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTIC-VALUE-NEEDS"/>
         <xsd:enumeration value="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
         <xsd:enumeration value="DLT-USER-NEEDS"/>
         <xsd:enumeration value="DO-IP-ACTIVATION-LINE-NEEDS"/>
         <xsd:enumeration value="DO-IP-GID-NEEDS"/>
         <xsd:enumeration value="DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-POWER-MODE-STATUS-NEEDS"/>
         <xsd:enumeration value="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
         <xsd:enumeration value="DO-IP-SERVICE-NEEDS"/>
         <xsd:enumeration value="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
         <xsd:enumeration value="ECU-STATE-MGR-USER-NEEDS"/>
         <xsd:enumeration value="ERROR-TRACER-NEEDS"/>
         <xsd:enumeration value="FUNCTION-INHIBITION-NEEDS"/>
         <xsd:enumeration value="GLOBAL-SUPERVISION-NEEDS"/>
         <xsd:enumeration value="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
         <xsd:enumeration value="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
         <xsd:enumeration value="NV-BLOCK-NEEDS"/>
         <xsd:enumeration value="OBD-CONTROL-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-INFO-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-MONITOR-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-PID-SERVICE-NEEDS"/>
         <xsd:enumeration value="OBD-RATIO-SERVICE-NEEDS"/>
         <xsd:enumeration value="SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
         <xsd:enumeration value="SERVICE-NEEDS"/>
         <xsd:enumeration value="SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
         <xsd:enumeration value="SUPERVISED-ENTITY-NEEDS"/>
         <xsd:enumeration value="SYNC-TIME-BASE-MGR-USER-NEEDS"/>
         <xsd:enumeration value="V-2-X-FAC-USER-NEEDS"/>
         <xsd:enumeration value="V-2-X-M-USER-NEEDS"/>
         <xsd:enumeration value="VENDOR-SPECIFIC-SERVICE-NEEDS"/>
         <xsd:enumeration value="WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Components::ServiceProxySwComponentType -->
   <xsd:group name="SERVICE-PROXY-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>This class provides the ability to express a software-component which provides access to an internal service for remote ECUs. It acts as a proxy for the service providing access to the service.

An important use case is the request of vehicle mode switches: Such requests can be communicated via sender-receiver interfaces across ECU boundaries, but the mode manager being responsible to perform the mode switches is an AUTOSAR Service which is located in the Basic Software and is not visible in the VFB view. To handle this situation, a ServiceProxySwComponentType will act as proxy for the mode manager. It will have R-Ports to be connected with the mode requestors on VFB level and Service-Ports to be connected with the local mode manager at ECU integration time.

Apart from the semantics, a ServiceProxySwComponentType has these specific properties:
* A prototype of it can be mapped to more than one ECUs in the system description.
* Exactly one additional instance of it will be created in the ECU-Extract per ECU to which the prototype has been mapped.
* For remote communication, it can have only R-Ports with sender-receiver interfaces and 1:n semantics.
* There shall be no connectors between two prototypes of any ServiceProxySwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ServiceProxySwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Components::ServiceProxySwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="SERVICE-PROXY-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>This class provides the ability to express a software-component which provides access to an internal service for remote ECUs. It acts as a proxy for the service providing access to the service.

An important use case is the request of vehicle mode switches: Such requests can be communicated via sender-receiver interfaces across ECU boundaries, but the mode manager being responsible to perform the mode switches is an AUTOSAR Service which is located in the Basic Software and is not visible in the VFB view. To handle this situation, a ServiceProxySwComponentType will act as proxy for the mode manager. It will have R-Ports to be connected with the mode requestors on VFB level and Service-Ports to be connected with the local mode manager at ECU integration time.

Apart from the semantics, a ServiceProxySwComponentType has these specific properties:
* A prototype of it can be mapped to more than one ECUs in the system description.
* Exactly one additional instance of it will be created in the ECU-Extract per ECU to which the prototype has been mapped.
* For remote communication, it can have only R-Ports with sender-receiver interfaces and 1:n semantics.
* There shall be no connectors between two prototypes of any ServiceProxySwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ServiceProxySwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:SERVICE-PROXY-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Components::ServiceSwComponentType -->
   <xsd:group name="SERVICE-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>ServiceSwComponentType is used for configuring services for a given ECU. Instances of this class are only to be created in ECU Configuration phase for the specific purpose of the service configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ServiceSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Components::ServiceSwComponentType -->
   <xsd:complexType abstract="false" mixed="false" name="SERVICE-SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>ServiceSwComponentType is used for configuring services for a given ECU. Instances of this class are only to be created in ECU Configuration phase for the specific purpose of the service configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwComponentTypes";mmt.qualifiedName="ServiceSwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:group ref="AR:SERVICE-SW-COMPONENT-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Identifiable::ShortNameFragment -->
   <xsd:group name="SHORT-NAME-FRAGMENT">
      <xsd:annotation>
         <xsd:documentation>This class describes how the Referrable.shortName is composed of several shortNameFragments.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShortNameFragment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This specifies the role of fragment to define e.g. the order of the fragments.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ShortNameFragment.role";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAGMENT" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This specifies a single shortName (fragment) which is part of the composed shortName.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ShortNameFragment.fragment";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Identifiable::ShortNameFragment -->
   <xsd:complexType abstract="false" mixed="false" name="SHORT-NAME-FRAGMENT">
      <xsd:annotation>
         <xsd:documentation>This class describes how the Referrable.shortName is composed of several shortNameFragments.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShortNameFragment"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SHORT-NAME-FRAGMENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::SignalIPduCounter -->
   <xsd:group name="SIGNAL-I-PDU-COUNTER">
      <xsd:annotation>
         <xsd:documentation>A PduCounter is included in a predefined set of Pdus and used to ensure that a sequence of Pdus is maintained. The counter is incremented when a Pdu is transmitted. The receivers check if the received Pdu is the next one in sequence.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduCounter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COUNTER-SIZE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Size of PduCounter expressed in bits. 
Range: 1..8</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduCounter.pduCounterSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COUNTER-START-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Position of PduCounter expressed in bits. Note that PduCounter is not allowed to cross a byte border.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduCounter.pduCounterStartPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COUNTER-THRESHOLD" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Threshold value of IPduCounter algorithm. See AUTOSAR COM Spec for more details.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduCounter.pduCounterThreshold";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduCounter.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SignalIPduCounter -->
   <xsd:complexType abstract="false" mixed="false" name="SIGNAL-I-PDU-COUNTER">
      <xsd:annotation>
         <xsd:documentation>A PduCounter is included in a predefined set of Pdus and used to ensure that a sequence of Pdus is maintained. The counter is incremented when a Pdu is transmitted. The receivers check if the received Pdu is the next one in sequence.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduCounter"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SIGNAL-I-PDU-COUNTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::SignalIPduReplication -->
   <xsd:group name="SIGNAL-I-PDU-REPLICATION">
      <xsd:annotation>
         <xsd:documentation>PduReplication is a form of redundancy where the data content of one ISignalIPdu (source) is transmitted inside a set of replica ISignalIPdus. These ISignalIPdus (copies) have different Pdu IDs, identical PduCounters, identical data content and are transmitted with the same frequency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduReplication"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-REPLICATION-VOTING" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of identical IPdus needed for successful voting (1-3).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduReplication.pduReplicationVoting";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REPLICA-PDUS-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to replica Pdus of this IPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduReplication.replicaPdus";pureMM.maxOccurs="2";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="REPLICA-PDUS-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduReplication.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SignalIPduReplication -->
   <xsd:complexType abstract="false" mixed="false" name="SIGNAL-I-PDU-REPLICATION">
      <xsd:annotation>
         <xsd:documentation>PduReplication is a form of redundancy where the data content of one ISignalIPdu (source) is transmitted inside a set of replica ISignalIPdus. These ISignalIPdus (copies) have different Pdu IDs, identical PduCounters, identical data content and are transmitted with the same frequency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SignalIPduReplication"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SIGNAL-I-PDU-REPLICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SignalPaths::SignalPathConstraint -->
   <xsd:group name="SIGNAL-PATH-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>Additional guidelines for the System Generator, which specific way a signal between two Software Components should take in the network without defining in which frame and with which timing it is transmitted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SignalPathConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INTRODUCTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents introductory documentation about the signal path constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalPathConstraint.introduction";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SignalPathConstraint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ExecutionTime::SimulatedExecutionTime -->
   <xsd:group name="SIMULATED-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Specifies the ExecutionTime which has been gathered using simulation means.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SimulatedExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum simulated execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SimulatedExecutionTime.maximumExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum simulated execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SimulatedExecutionTime.minimumExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NOMINAL-EXECUTION-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The nominal simulated execution time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SimulatedExecutionTime.nominalExecutionTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ExecutionTime::SimulatedExecutionTime -->
   <xsd:complexType abstract="false" mixed="false" name="SIMULATED-EXECUTION-TIME">
      <xsd:annotation>
         <xsd:documentation>Specifies the ExecutionTime which has been gathered using simulation means.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SimulatedExecutionTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:EXECUTION-TIME"/>
         <xsd:group ref="AR:SIMULATED-EXECUTION-TIME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SingleLanguageData::SingleLanguageLongName -->
   <xsd:group name="SINGLE-LANGUAGE-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>SingleLanguageLongName</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SingleLanguageLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SingleLanguageData::SingleLanguageLongName -->
   <xsd:complexType abstract="false" mixed="true" name="SINGLE-LANGUAGE-LONG-NAME">
      <xsd:annotation>
         <xsd:documentation>SingleLanguageLongName</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SingleLanguageLongName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-LONG-NAME"/>
         <xsd:group ref="AR:SINGLE-LANGUAGE-LONG-NAME"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Identifiable::SingleLanguageReferrable -->
   <xsd:group name="SINGLE-LANGUAGE-REFERRABLE">
      <xsd:annotation>
         <xsd:documentation>Instances of this class can be referred to by their identifier (while adhering to namespace borders). They also may have a longName but in one language only. 

Specializations of this class only occur as inline elements in one particular language. Therefore they aggregate

But they are not considered to contribute substantially to the overall structure of an AUTOSAR description. In particular it does not contain other Referrables.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SingleLanguageReferrable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LONG-NAME-1" type="AR:SINGLE-LANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This specifies the long name of the object. The role is longName1 for compatibilty to ASAM FSX</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SingleLanguageReferrable.longName1";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SingleLanguageData::SingleLanguageUnitNames -->
   <xsd:group name="SINGLE-LANGUAGE-UNIT-NAMES">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to express a display name.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SingleLanguageUnitNames"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class SingleLanguageData::SingleLanguageUnitNames -->
   <xsd:complexType abstract="false" mixed="true" name="SINGLE-LANGUAGE-UNIT-NAMES">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to express a display name.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SingleLanguageUnitNames"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-UNIT-NAMES"/>
         <xsd:group ref="AR:SINGLE-LANGUAGE-UNIT-NAMES"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SingleLanguageData::SlOverviewParagraph -->
   <xsd:group name="SL-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>MixedContentForOverviewParagraph in one particular language.  The language is defined by the context. 
The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SlOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class SingleLanguageData::SlOverviewParagraph -->
   <xsd:attributeGroup name="SL-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>MixedContentForOverviewParagraph in one particular language.  The language is defined by the context. 
The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SlOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="L" type="AR:L-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
            <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SlOverviewParagraph.L";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class SingleLanguageData::SlOverviewParagraph -->
   <xsd:complexType abstract="false" mixed="true" name="SL-OVERVIEW-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>MixedContentForOverviewParagraph in one particular language.  The language is defined by the context. 
The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SlOverviewParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-OVERVIEW-PARAGRAPH"/>
         <xsd:group ref="AR:SL-OVERVIEW-PARAGRAPH"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:SL-OVERVIEW-PARAGRAPH"/>
   </xsd:complexType>
   <!-- element group for class SingleLanguageData::SlParagraph -->
   <xsd:group name="SL-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the text for a paragraph in one particular language. The language is defined by the context. 
The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SlParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class SingleLanguageData::SlParagraph -->
   <xsd:attributeGroup name="SL-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the text for a paragraph in one particular language. The language is defined by the context. 
The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SlParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="L" type="AR:L-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
            <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SlParagraph.L";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class SingleLanguageData::SlParagraph -->
   <xsd:complexType abstract="false" mixed="true" name="SL-PARAGRAPH">
      <xsd:annotation>
         <xsd:documentation>This is the text for a paragraph in one particular language. The language is defined by the context. 
The attribute l is there only for backwards compatibility and shall be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SlParagraph"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MIXED-CONTENT-FOR-PARAGRAPH"/>
         <xsd:group ref="AR:SL-PARAGRAPH"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:SL-PARAGRAPH"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::SoAdConfig -->
   <xsd:group name="SO-AD-CONFIG">
      <xsd:annotation>
         <xsd:documentation>SoAd Configuration for one specific Physical Channel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SoAdConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SoAdConfig.connection";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOCKET-CONNECTION" type="AR:SOCKET-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTION-BUNDLES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SoAdConfig.connectionBundle";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOCKET-CONNECTION-BUNDLE" type="AR:SOCKET-CONNECTION-BUNDLE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOGIC-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SoAdConfig.logicAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="LOGIC-ADDRESS" type="AR:LOGIC-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOCKET-ADDRESSS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SoAdConfig.socketAddress";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOCKET-ADDRESS" type="AR:SOCKET-ADDRESS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::SoAdConfig -->
   <xsd:complexType abstract="false" mixed="false" name="SO-AD-CONFIG">
      <xsd:annotation>
         <xsd:documentation>SoAd Configuration for one specific Physical Channel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SoAdConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SO-AD-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::SoAdRoutingGroup -->
   <xsd:group name="SO-AD-ROUTING-GROUP">
      <xsd:annotation>
         <xsd:documentation>Routing of Pdus in the SoAd can be activated or deactivated. The ShortName of this element shall contain the RoutingGroupId.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SoAdRoutingGroups";mmt.qualifiedName="SoAdRoutingGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-GROUP-CONTROL-TYPE" type="AR:EVENT-GROUP-CONTROL-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the type of a RoutingGroup. There are RoutingGroups that activate the data path for unicast or multicast events of an event group. And there are RoutingGroups that activate the data path for initial events that are triggered, namely events that are sent out on the server side after a client got subscribed.

Please note that this attribute is only valid for event communication (Sender Receiver communication) and shall be omitted in MethodActivationRoutingGroups.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SoAdRoutingGroup.eventGroupControlType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::SoAdRoutingGroup -->
   <xsd:complexType abstract="false" mixed="false" name="SO-AD-ROUTING-GROUP">
      <xsd:annotation>
         <xsd:documentation>Routing of Pdus in the SoAd can be activated or deactivated. The ShortName of this element shall contain the RoutingGroupId.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SoAdRoutingGroups";mmt.qualifiedName="SoAdRoutingGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:SO-AD-ROUTING-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SO-AD-ROUTING-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SO-AD-ROUTING-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetCommunication::SocketAddress -->
   <xsd:group name="SOCKET-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability represent a socket address towards the rest of the meta-model. The actual semantics of the represented socket address, however, is contributed by aggregation of ApplicationEndpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-ENDPOINT" type="AR:APPLICATION-ENDPOINT">
            <xsd:annotation>
               <xsd:documentation>Application addressing</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketAddress.applicationEndpoint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONNECTOR-REF">
            <xsd:annotation>
               <xsd:documentation>Association to a CommunicationConnector in the topology description. This reference shall be used if the SocketAddress describes an IP unicast address. 

In a System Description this reference is mandatory if an IP unicast address is described. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided). Please note that in the SystemExtract or EcuExtract the type of the reference shall not change from unicast connectorRef to multicastConnectorRef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketAddress.connector";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ETHERNET-COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IP-ADDRESS" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and will be removed in future. It is replaced by the aggregated NetworkEndpoint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketAddress.ipAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MULTICAST-CONNECTOR-REFS">
            <xsd:annotation>
               <xsd:documentation>Association to a CommunicationConnector in the topology description. This reference shall be used if the SocketAddress describes an IP mutlicast address. This multicast SocketAddress shall contain references to all ECUs that want to receive the multicast messages. 

In a System Description this reference is mandatory if an IP multicast address is described. In an ECU Extract this reference is optional (references to ECUs that are not part of the ECU Extract shall be avoided). Please note that in the SystemExtract or EcuExtract the type of the reference shall not change from multicastConnectorRef to unicast connectorRef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketAddress.multicastConnector";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MULTICAST-CONNECTOR-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ETHERNET-COMMUNICATION-CONNECTOR--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-ADDRESS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and will be removed in future. It is replaced by the aggregated ApplicationEndpoint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketAddress.portAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketAddress.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::SocketAddress -->
   <xsd:complexType abstract="false" mixed="false" name="SOCKET-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability represent a socket address towards the rest of the meta-model. The actual semantics of the represented socket address, however, is contributed by aggregation of ApplicationEndpoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SOCKET-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SOCKET-ADDRESS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SOCKET-ADDRESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetCommunication::SocketConnection -->
   <xsd:group name="SOCKET-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>The SoAd serves as a (De)Multiplexer between different PDU sources and the TCP/IP stack.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOWED-I-PV-6-EXT-HEADERS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a list of IPv6 Extension Headers allowed for this SocketConnection. If no list is referenced all IPv6 Extension Headers are allowed and processed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.allowedIPv6ExtHeaders";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PV-6-EXT-HEADER-FILTER-LIST--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOWED-TCP-OPTIONS-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a list of TCP options allowed for this SocketConnection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.allowedTcpOptions";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TCP-OPTION-FILTER-LIST--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOSAR-CONNECTOR" type="AR:SO-AD-CONNECTOR-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketConnection.autosarConnector";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-IP-ADDR-FROM-CONNECTION-REQUEST" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true the Server "learns" the client IP address on connection request. This means that the statically configured IP Address of the related client shall be ignored. If set to false the Server only accepts statically configured IP address, e.g. 192.168.1.2. This means that the statically configured IP Address of the Client shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.clientIpAddrFromConnectionRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-PORT-FROM-CONNECTION-REQUEST" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If set to true the Server "learns" the client Port on connection request. This means that the statically configured Port of the related client shall be ignored. If set to false the Server only accepts statically configured Port. This means that the statically configured Port of the Client shall be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.clientPortFromConnectionRequest";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Client Port for TCP/UDP connection in an abstract communication sense. The client is the major requester of the communication. Please note that the client may also produce data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.clientPort";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SOCKET-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-SOURCE-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>The logical DoIP address of the source entity. This optional reference shall only be used for DoIP (Diagnosis over IP).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SocketConnection.doIpSourceAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LOGIC-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DO-IP-TARGET-ADDRESS-REF">
            <xsd:annotation>
               <xsd:documentation>The logical DoIP address of the target entity. This optional reference shall only be used for DoIP (Diagnosis over IP).</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SocketConnection.doIpTargetAddress";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LOGIC-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:TP-CONNECTION-IDENT">
            <xsd:annotation>
               <xsd:documentation>This adds the ability to become referrable to SocketConnection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SocketConnection.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="LOCAL-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is obsolete and will be removed in the future. The serverPort reference in SocketConnectionBundle shall be used instead.

Old description: Local Port for TCP/UDP connection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketConnection.localPort";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SOCKET-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="N-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to data packets that are transmitted over Ethernet. Each data packet can contain multiple IPdus. 

Please note that this reference is deprecated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketConnection.nPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:N-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDUS">
            <xsd:annotation>
               <xsd:documentation>PDUs handed over by the PDU Router (Transmission over the Ethernet) or PDUs handed over by SoAd (Reception over Ethernet). Multiple IPdus can be transmitted over one socket connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.pdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOCKET-CONNECTION-IPDU-IDENTIFIER" type="AR:SOCKET-CONNECTION-IPDU-IDENTIFIER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COLLECTION-MAX-BUFFER-SIZE" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the maximum buffer size in Byte which shall be filled before a socket with Pdu collection enabled shall be transmitted to the lower layer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.pduCollectionMaxBufferSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COLLECTION-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the time in seconds which shall pass before a socket with Pdu collection enabled shall be transmitted to the lower layer after the first Pdu has been put into the socket buffer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.pduCollectionTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REMOTE-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is obsolete and will be removed in the future. The clientPort reference shall be used instead.

Old description: Remote Port for TCP/UDP connection. May be different for each Frame or use the same remote port. In second case headerId attribute needs to be considered.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketConnection.remotePort";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SOCKET-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNTIME-IP-ADDRESS-CONFIGURATION" type="AR:RUNTIME-ADDRESS-CONFIGURATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute determines which protocol is used by the client to obtain the IP Address information. 
If this attribute is not set to none the value determines the service used by the client to obtain the IP Address information for the SocketConnection. If this attribute is set to none the client used the statically configured IP Address information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.runtimeIpAddressConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNTIME-PORT-CONFIGURATION" type="AR:RUNTIME-ADDRESS-CONFIGURATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute determines which protocol is used by the client to obtain the Port information. If this attribute is not set to none the value determines the service used by the client to obtain the Port information for the SocketConnection. If this attribute is set to none the client uses the statically configured Port information.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.runtimePortConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies an identifying shortName for the SocketConnection. It shall be unique within its context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOCKET-PROTOCOL" type="AR:SO-AD-PROTOCOL-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SocketConnection.socketProtocol";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::SocketConnection -->
   <xsd:complexType abstract="false" mixed="false" name="SOCKET-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>The SoAd serves as a (De)Multiplexer between different PDU sources and the TCP/IP stack.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:SOCKET-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::SocketConnectionBundle -->
   <xsd:group name="SOCKET-CONNECTION-BUNDLE">
      <xsd:annotation>
         <xsd:documentation>This elements groups SocketConnections, i.e. specifies socket connections belonging to the bundle and describes properties which are common for all socket connections in the bundle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUNDLED-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>Collection of SocketConnections in the connectionGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.bundledConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOCKET-CONNECTION" type="AR:SOCKET-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIFFERENTIATED-SERVICE-FIELD" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The 6-bit Differentiated Service Field in the IP headers may be used for classifying network traffic. If not set a value of zero is used to indicate packets that have not been classified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.differentiatedServiceField";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FLOW-LABEL" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>The 20-bit Flow Label field in the IPv6 header may be used by a source to label sequences of packets for which it requests special handling by the IPv6 routers, such as non-default quality of service. If not set a Flow Label of zero is used to indicate packets that have not been labeled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.flowLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PATH-MTU-DISCOVERY-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Defines whether the Path MTU Discovery shall be performed for the related socket.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.pathMtuDiscoveryEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDUS">
            <xsd:annotation>
               <xsd:documentation>With this aggregation SocketConnectionIpduIdentifier elements are assigned to all SocketConnections that are available in this SocketConnetionBundle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.pdu";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOCKET-CONNECTION-IPDU-IDENTIFIER" type="AR:SOCKET-CONNECTION-IPDU-IDENTIFIER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVER-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>Server Port for TCP/UDP connection in an abstract communication sense. The server is the major provider of the communication. Please note that the server may also consume data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.serverPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SOCKET-ADDRESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UDP-CHECKSUM-HANDLING" type="AR:UDP-CHECKSUM-CALCULATION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies if UDP checksum handling shall be enabled (udpChecksumEnabled) or skipped (udpChecksumDisabled) on the related socket connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.udpChecksumHandling";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::SocketConnectionBundle -->
   <xsd:complexType abstract="false" mixed="false" name="SOCKET-CONNECTION-BUNDLE">
      <xsd:annotation>
         <xsd:documentation>This elements groups SocketConnections, i.e. specifies socket connections belonging to the bundle and describes properties which are common for all socket connections in the bundle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionBundle"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:SOCKET-CONNECTION-BUNDLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="SOCKET-CONNECTION-BUNDLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SOCKET-CONNECTION-BUNDLE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetCommunication::SocketConnectionIpduIdentifier -->
   <xsd:group name="SOCKET-CONNECTION-IPDU-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>An Identifier is required in case of one port per ECU communication where multiple Pdus are transmitted over the same connection. If only one IPdu is transmitted over the connetion this attribute can be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="HEADER-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>If multiple Pdus are transmitted over the same connection this headerId can be used to distinguish between the different Pdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier.headerId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COLLECTION-PDU-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the timeout in seconds the PDU collection shall be transmitted at the latest after this PDU has been put into the buffer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier.pduCollectionPduTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COLLECTION-SEMANTICS" type="AR:PDU-COLLECTION-SEMANTICS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies if the referenced PduTriggering shall be collected using a queued (i.e. all PDU instances) or last-is-best (i.e. only the last PDU instance) semantics. If this attribute is not present the behavior of "queued" is assumed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier.pduCollectionSemantics";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-COLLECTION-TRIGGER" type="AR:PDU-COLLECTION-TRIGGER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines whether the referenced Pdu contributes to the triggering of the socket transmission if Pdu collection is enabled for this socket.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier.pduCollectionTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is deprecated and will be removed in future. 

Old description: Reference to an IPdu that is mapped to a socket connection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.2.1";mmt.qualifiedName="SocketConnectionIpduIdentifier.pdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PDU-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Pdu that is mapped to a socket connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier.pduTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROUTING-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to RoutingGroups that can be enabled or disabled.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier.routingGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROUTING-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SO-AD-ROUTING-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::SocketConnectionIpduIdentifier -->
   <xsd:complexType abstract="false" mixed="false" name="SOCKET-CONNECTION-IPDU-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>An Identifier is required in case of one port per ECU communication where multiple Pdus are transmitted over the same connection. If only one IPdu is transmitted over the connetion this attribute can be ignored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SocketConnectionIpduIdentifier"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SOCKET-CONNECTION-IPDU-IDENTIFIER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ResourceConsumption::SoftwareContext -->
   <xsd:group name="SOFTWARE-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>Specifies the context of the software for this resource consumption.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SoftwareContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INPUT" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the input vector which is used to provide the ExecutionTime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SoftwareContext.input";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the state the software is in when the ExecutionTime is provided.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SoftwareContext.state";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ResourceConsumption::SoftwareContext -->
   <xsd:complexType abstract="false" mixed="false" name="SOFTWARE-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>Specifies the context of the software for this resource consumption.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SoftwareContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SOFTWARE-CONTEXT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::SomeipTpConfig -->
   <xsd:group name="SOMEIP-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one SOME/IP TP Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="SomeipTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-CONNECTIONS">
            <xsd:annotation>
               <xsd:documentation>Senders and receivers of SOME/IP TP messages.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SomeipTpConfig.tpConnection";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOMEIP-TP-CONNECTION" type="AR:SOMEIP-TP-CONNECTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::SomeipTpConfig -->
   <xsd:complexType abstract="false" mixed="false" name="SOMEIP-TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>This element defines exactly one SOME/IP TP Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TpConfigs";mmt.qualifiedName="SomeipTpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:TP-CONFIG"/>
         <xsd:group ref="AR:SOMEIP-TP-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::SomeipTpConnection -->
   <xsd:group name="SOMEIP-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The SOME/IP TP module routes a Pdu through this connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SomeipTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEPARATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Sets the duration of the minimum time in seconds the SOME/IP TP module shall wait between the transmissions of NPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SomeipTpConnection.separationTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-SDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an IPdu that is segmented by the Transport Protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SomeipTpConnection.tpSdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSPORT-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the segmented IPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SomeipTpConnection.transportPdu";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::SomeipTpConnection -->
   <xsd:complexType abstract="false" mixed="false" name="SOMEIP-TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>A connection identifies the sender and the receiver of this particular communication. The SOME/IP TP module routes a Pdu through this connection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SomeipTpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SOMEIP-TP-CONNECTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CommonPatterns::SpecElementReference -->
   <xsd:group name="SPEC-ELEMENT-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This is a reference to a specification element in the Autosar standard.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SpecElementReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALTERNATIVE-NAME" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Alternative name of a specification element if its name doesn't fit into the shortName. E.g. because the name contains spaces.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SpecElementReference.alternativeName";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CommonPatterns::SpecElementScope -->
   <xsd:group name="SPEC-ELEMENT-SCOPE">
      <xsd:annotation>
         <xsd:documentation>This class defines if a specification element is relevant within the context of this data exchange point.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SpecElementScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IN-SCOPE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>indicates, if a specification element is relevant for this data exchange point. 
It is relevant if inScope==true. 
It is not relevant or don't care if inScope=false.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SpecElementScope.inScope";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class SpecificationScope::SpecificationDocumentScope -->
   <xsd:group name="SPECIFICATION-DOCUMENT-SCOPE">
      <xsd:annotation>
         <xsd:documentation>Represents a standardized or custom specification document such as Software Component Template, Main Requirements, Specification of Communication, etc.

Autosar specifications are referenced via their title.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationDocumentScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CUSTOM-DOCUMENTATION-REF">
            <xsd:annotation>
               <xsd:documentation>reference to a custom defined specification.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationDocumentScope.customDocumentation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DOCUMENTATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DOCUMENT-ELEMENT-SCOPES">
            <xsd:annotation>
               <xsd:documentation>An element with a name or ID that is specified in the Spcification Document.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationDocumentScope.documentElementScope";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DOCUMENT-ELEMENT-SCOPE" type="AR:DOCUMENT-ELEMENT-SCOPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecificationScope::SpecificationDocumentScope -->
   <xsd:complexType abstract="false" mixed="false" name="SPECIFICATION-DOCUMENT-SCOPE">
      <xsd:annotation>
         <xsd:documentation>Represents a standardized or custom specification document such as Software Component Template, Main Requirements, Specification of Communication, etc.

Autosar specifications are referenced via their title.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationDocumentScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-REFERENCE"/>
         <xsd:group ref="AR:SPEC-ELEMENT-SCOPE"/>
         <xsd:group ref="AR:SPECIFICATION-DOCUMENT-SCOPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SpecificationScope::SpecificationScope -->
   <xsd:group name="SPECIFICATION-SCOPE">
      <xsd:annotation>
         <xsd:documentation>Specification of the relevant subset of Autosar specifications.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SPECIFICATION-DOCUMENT-SCOPES">
            <xsd:annotation>
               <xsd:documentation>The Autosar or custom specifications that contain that are considered in this Data Exchange Point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationScope.specificationDocumentScope";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SPECIFICATION-DOCUMENT-SCOPE" type="AR:SPECIFICATION-DOCUMENT-SCOPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SpecificationScope::SpecificationScope -->
   <xsd:complexType abstract="false" mixed="false" name="SPECIFICATION-SCOPE">
      <xsd:annotation>
         <xsd:documentation>Specification of the relevant subset of Autosar specifications.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SpecificationScope"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SPECIFICATION-SCOPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EventTriggeringConstraint::SporadicEventTriggering -->
   <xsd:group name="SPORADIC-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The SporadicEventTriggering describes the behavior of an event which occurs occasionally or singly.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SporadicEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MINIMUM-INTER-ARRIVAL-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The minimum time distance between two consecutive occurrences of the associated event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SporadicEventTriggering.minimumInterArrivalTime";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAXIMUM-INTER-ARRIVAL-TIME" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum time distance between two consecutive occurrences of the associated event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SporadicEventTriggering.maximumInterArrivalTime";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="JITTER" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum jitter of the sporadic event occurrence.

Jitter=max |nthPeriod - standardPeriod|</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SporadicEventTriggering.jitter";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The period of the event occurrence.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SporadicEventTriggering.period";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EventTriggeringConstraint::SporadicEventTriggering -->
   <xsd:complexType abstract="false" mixed="false" name="SPORADIC-EVENT-TRIGGERING">
      <xsd:annotation>
         <xsd:documentation>The SporadicEventTriggering describes the behavior of an event which occurs occasionally or singly.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SporadicEventTriggering"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:group ref="AR:SPORADIC-EVENT-TRIGGERING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class StackUsage::StackUsage -->
   <xsd:group name="STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>Describes the stack memory usage of a software.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXECUTABLE-ENTITY-REF">
            <xsd:annotation>
               <xsd:documentation>The executable entity for which this stack usage is described.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StackUsage.executableEntity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXECUTABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HARDWARE-CONFIGURATION" type="AR:HARDWARE-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Contains information about the hardware context this stack usage is describing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StackUsage.hardwareConfiguration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HW-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies for which hardware element (e.g. ECU) this stack usage is given.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StackUsage.hwElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOFTWARE-CONTEXT" type="AR:SOFTWARE-CONTEXT">
            <xsd:annotation>
               <xsd:documentation>Contains details about the software context this stack usage is provided for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StackUsage.softwareContext";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StackUsage.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class CoreCommunication::StaticPart -->
   <xsd:group name="STATIC-PART">
      <xsd:annotation>
         <xsd:documentation>Some parts/signals of the I-PDU may be the same regardless of the selector field. Such a part is called static part. The static part is optional.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StaticPart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a Com IPdu which is routed to the IPduM module and is combined to a multiplexedPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StaticPart.iPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StaticPart.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::StaticPart -->
   <xsd:complexType abstract="false" mixed="false" name="STATIC-PART">
      <xsd:annotation>
         <xsd:documentation>Some parts/signals of the I-PDU may be the same regardless of the selector field. Such a part is called static part. The static part is optional.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StaticPart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MULTIPLEXED-PART"/>
         <xsd:group ref="AR:STATIC-PART"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::Std -->
   <xsd:group name="STD">
      <xsd:annotation>
         <xsd:documentation>This represents a reference to external standards.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Std"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUBTITLE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the subtitle of the standard.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Std.subtitle";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents  version and state of a standard. Kept as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Std.state";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATE" type="AR:DATE">
            <xsd:annotation>
               <xsd:documentation>This element specifies the release date of the external standard if applicable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Std.date";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="URL" type="AR:URL">
            <xsd:annotation>
               <xsd:documentation>This represents the URL of the standard.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Std.url";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSITION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the relevant positions of a standard. Kept as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Std.position";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InlineTextElements::Std -->
   <xsd:complexType abstract="false" mixed="false" name="STD">
      <xsd:annotation>
         <xsd:documentation>This represents a reference to external standards.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Std"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:SINGLE-LANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:STD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RequirementsTracing::StructuredReq -->
   <xsd:group name="STRUCTURED-REQ">
      <xsd:annotation>
         <xsd:documentation>This represents a structured requirement. This is intended for a case where specific requirements for features are collected.

Note that this can be rendered as a labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATE" type="AR:DATE">
            <xsd:annotation>
               <xsd:documentation>This represents the date when the requirement was initiated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.date";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ISSUED-BY" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the person, organization or authority which issued the requirement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.issuedBy";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="6"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute allows to denote the type of requirement to denote for example is it an "enhancement", "new feature" etc.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.type";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="7"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPORTANCE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This allows to represent the importance of the requirement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.importance";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="8"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESCRIPTION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>Ths represents the general description of the requirement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.description";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RATIONALE" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents the rationale of the requirement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.rationale";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLIES-TO-DEPENDENCIES">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLIES-TO" type="AR:STANDARD-NAME-ENUM">
                     <xsd:annotation>
                        <xsd:documentation>This attribute represents the platform the requirement is assigned to.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.appliesTo";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="APPLIES-TO-DEPENDENCIES";xml.sequenceOffset="25"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEPENDENCIES" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents an informal specifiaction of dependencies. Note that upstream tracing should be formalized in the property trace provided by the superclass Traceable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.dependencies";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="USE-CASE" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This describes the relevant use cases. Note that formal references to use cases should be done in the trace relation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.useCase";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="35"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONFLICTS" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents an informal specification of conflicts.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.conflicts";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORTING-MATERIAL" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents an informal specifiaction of the supporting material.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.supportingMaterial";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REMARK" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents an informal remark. Note that this is not modeled as annotation, since these remark is still essential part of the requirement.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.remark";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TESTED-ITEM-REFS">
            <xsd:annotation>
               <xsd:documentation>This assocation represents the ability to trace on the same specification level. This supports for example the of acceptance tests.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.testedItem";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TESTED-ITEM-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TRACEABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RequirementsTracing::StructuredReq -->
   <xsd:complexType abstract="false" mixed="false" name="STRUCTURED-REQ">
      <xsd:annotation>
         <xsd:documentation>This represents a structured requirement. This is intended for a case where specific requirements for features are collected.

Note that this can be rendered as a labeled list.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StructuredReq"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:STRUCTURED-REQ"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::SubElementMapping -->
   <xsd:group name="SUB-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class allows for the definition of mappings of elements of a composite data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SubElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the first element referenced in the scope of the mapping.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SubElementMapping.firstElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF" type="AR:APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF"/>
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF" type="AR:IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This represents the second element referenced in the scope of the mapping.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SubElementMapping.secondElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF" type="AR:APPLICATION-COMPOSITE-DATA-TYPE-SUB-ELEMENT-REF"/>
                  <xsd:element name="IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF" type="AR:IMPLEMENTATION-DATA-TYPE-SUB-ELEMENT-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEXT-TABLE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>This allows for the text-table translation of individual elements of a composite data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SubElementMapping.textTableMapping";pureMM.maxOccurs="2";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="TEXT-TABLE-MAPPING" type="AR:TEXT-TABLE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::SubElementMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SUB-ELEMENT-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class allows for the definition of mappings of elements of a composite data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SubElementMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SUB-ELEMENT-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::SubElementRef -->
   <xsd:group name="SUB-ELEMENT-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides the ability to reference elements of composite data type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SubElementRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SubElementRef.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class ServiceNeeds::SupervisedEntityCheckpointNeeds -->
   <xsd:group name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Watchdog Manager to support a Checkpoint for a Supervised Entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityCheckpointNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::SupervisedEntityCheckpointNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Watchdog Manager to support a Checkpoint for a Supervised Entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityCheckpointNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::SupervisedEntityCheckpointNeedsRefConditional -->
   <xsd:group name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityCheckpointNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityCheckpointNeeds";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityCheckpointNeedsRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::SupervisedEntityCheckpointNeedsRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityCheckpointNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::SupervisedEntityNeeds -->
   <xsd:group name="SUPERVISED-ENTITY-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Watchdog Manager for one specific Supervised Entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTIVATE-AT-START" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>True/false: supervision activation status of SupervisedEntity shall be enabled/disabled at start.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.activateAtStart";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CHECKPOINTSS">
            <xsd:annotation>
               <xsd:documentation>This reference indicates the checkpoints belonging to the Supervised Entity.
This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.checkpoints";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS-REF-CONDITIONAL" type="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENABLE-DEACTIVATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>True: software-component shall be allowed to deactivate supervision of this SupervisedEntity
false:  software-component shall be not allowed to deactivate supervision of this SupervisedEntity</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.enableDeactivation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXPECTED-ALIVE-CYCLE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Expected cycle time of alive trigger of this SupervisedEntity (in seconds).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.expectedAliveCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-ALIVE-CYCLE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Maximum cycle time of alive trigger of this SupervisedEntity (in seconds).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.maxAliveCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-ALIVE-CYCLE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Minimum cycle time of alive trigger of this SupervisedEntity (in seconds).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.minAliveCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TOLERATED-FAILED-CYCLES" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of consecutive failed alive cycles for this SupervisedEntity which shall be tolerated until the supervision status of the SupervisedEntity is set to WDGM_ALIVE_EXPIRED (see SWS WdgM for more details). 

Note that this value has to be recalculated with respect to the WdgM's own cycle time for ECU configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds.toleratedFailedCycles";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::SupervisedEntityNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="SUPERVISED-ENTITY-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the abstract needs on the configuration of the Watchdog Manager for one specific Supervised Entity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupervisedEntityNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:SUPERVISED-ENTITY-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class AuxillaryObjects::SwAddrMethod -->
   <xsd:group name="SW-ADDR-METHOD">
      <xsd:annotation>
         <xsd:documentation>Used to assign a common addressing method, e.g. common memory section, to data or code objects. These objects could actually live in different modules or components.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwAddrMethods";mmt.qualifiedName="SwAddrMethod"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-ALLOCATION-KEYWORD-POLICY" type="AR:MEMORY-ALLOCATION-KEYWORD-POLICY-TYPE">
            <xsd:annotation>
               <xsd:documentation>Enumeration to specify the name pattern of the Memory Allocation Keyword.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAddrMethod.memoryAllocationKeywordPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPTIONS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="OPTION" type="AR:IDENTIFIER">
                     <xsd:annotation>
                        <xsd:documentation>This attribute introduces the ability to specify further intended properties of the MemorySection in with the related objects shall be placed. 

These properties are handled as to be selected. The intended options are mentioned in the list. 

In the Memory Mapping configuration, this option list is used to determine an appropriate MemMapAddressingModeSet.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="SwAddrMethod.option";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECTION-INITIALIZATION-POLICY" type="AR:SECTION-INITIALIZATION-POLICY-TYPE">
            <xsd:annotation>
               <xsd:documentation>Specifies the expected initialization of the variables (inclusive those which are implementing VariableDataPrototypes). Therefore this is an implementation constraint for initialization code of BSW modules (especially RTE) as well as the start-up code which initializes the memory segment to which the AutosarDataPrototypes referring to the SwAddrMethod's are later on mapped.

If the attribute is not defined it has the identical semantic as the attribute value "INIT"</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAddrMethod.sectionInitializationPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECTION-TYPE" type="AR:MEMORY-SECTION-TYPE">
            <xsd:annotation>
               <xsd:documentation>Defines the type of memory sections which can be associated with this addresssing method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAddrMethod.sectionType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class AuxillaryObjects::SwAddrMethod -->
   <xsd:complexType abstract="false" mixed="false" name="SW-ADDR-METHOD">
      <xsd:annotation>
         <xsd:documentation>Used to assign a common addressing method, e.g. common memory section, to data or code objects. These objects could actually live in different modules or components.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwAddrMethods";mmt.qualifiedName="SwAddrMethod"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:SW-ADDR-METHOD"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-ADDR-METHOD--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-ADDR-METHOD"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CalibrationValue::SwAxisCont -->
   <xsd:group name="SW-AXIS-CONT">
      <xsd:annotation>
         <xsd:documentation>This represents the values for the axis of a compound primitive (curve, map).

For standard and fix axes,  SwAxisCont contains the values of the axis directly. 

The axis values of SwAxisCont with the category COM_AXIS, RES_AXIS are for display only. For editing and processing, only the values in the related GroupAxis are binding.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:CALPRM-AXIS-CATEGORY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This category specifies the particular axis types: 

* FIX_AXIS 
* STD_AXIS 
* COM_AXIS  
* RES_AXIS  (swArraysize necessary)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont.category";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the physical unit of the provided values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont.unit";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-DISPLAY-NAME" type="AR:SINGLE-LANGUAGE-UNIT-NAMES">
            <xsd:annotation>
               <xsd:documentation>This represents the display name which is used for the physical unit of the axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont.unitDisplayName";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-INDEX" type="AR:AXIS-INDEX-TYPE">
            <xsd:annotation>
               <xsd:documentation>This property allows to explicitly assign the axis contents to a particular axis. It is specified by numbers where 1 corresponds to the x-axis.
It is also possible to derive the axis association from the sequence of the parent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont.swAxisIndex";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ARRAYSIZE" type="AR:VALUE-LIST">
            <xsd:annotation>
               <xsd:documentation>For multidimensional compound primitivies (curve, map ...) it is necessary to know the dimensions.They are specified using swArraySize.

* RES_AXIS</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont.swArraysize";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VALUES-PHYS" type="AR:SW-VALUES">
            <xsd:annotation>
               <xsd:documentation>swValuesPhys represents the values in the physical domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont.swValuesPhys";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationValue::SwAxisCont -->
   <xsd:complexType abstract="false" mixed="false" name="SW-AXIS-CONT">
      <xsd:annotation>
         <xsd:documentation>This represents the values for the axis of a compound primitive (curve, map).

For standard and fix axes,  SwAxisCont contains the values of the axis directly. 

The axis values of SwAxisCont with the category COM_AXIS, RES_AXIS are for display only. For editing and processing, only the values in the related GroupAxis are binding.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-AXIS-CONT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Axis::SwAxisGeneric -->
   <xsd:group name="SW-AXIS-GENERIC">
      <xsd:annotation>
         <xsd:documentation>This meta-class defines a generic axis. In a generic axis the axispoints points are calculated in the ECU. 

The ECU is equipped with a fixed calculation algorithm. Parameters for the algorithm can be stored in the data component of the ECU. Therefore these parameters are specified in the data declaration, not in the calibration data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGeneric"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Associated axis calculation strategy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGeneric.swAxisType";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-AXIS-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-NUMBER-OF-AXIS-POINTS" type="AR:INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>The number of base points to be calculated for this axis. This element exists to enable the number of axis points to be stored explicitly, although it could also be described as swGenericAxisParam.

This attribute has been deprecated, note that the value of SwAxisIndividual.swMaxAxisPoints shall be taken instead.

In case of a generated axis, the number of axis points to be  generated shall be taken from SwAxisIndividual.swMaxAxisPoints.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwAxisGeneric.swNumberOfAxisPoints";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-GENERIC-AXIS-PARAMS">
            <xsd:annotation>
               <xsd:documentation>Specific parameter of a generic axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGeneric.swGenericAxisParam";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="40";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-GENERIC-AXIS-PARAM" type="AR:SW-GENERIC-AXIS-PARAM"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Axis::SwAxisGeneric -->
   <xsd:complexType abstract="false" mixed="false" name="SW-AXIS-GENERIC">
      <xsd:annotation>
         <xsd:documentation>This meta-class defines a generic axis. In a generic axis the axispoints points are calculated in the ECU. 

The ECU is equipped with a fixed calculation algorithm. Parameters for the algorithm can be stored in the data component of the ECU. Therefore these parameters are specified in the data declaration, not in the calibration data.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGeneric"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-AXIS-GENERIC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Axis::SwAxisGrouped -->
   <xsd:group name="SW-AXIS-GROUPED">
      <xsd:annotation>
         <xsd:documentation>An SwAxisGrouped is an axis which is shared between multiple calibration parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGrouped"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHARED-AXIS-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the datatype of the calibration parameter providing the shared axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGrouped.sharedAxisType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-PRIMITIVE-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-INDEX" type="AR:AXIS-INDEX-TYPE">
            <xsd:annotation>
               <xsd:documentation>Describes which axis of the referenced calibration parameter provides the values for the group axis.
The index satisfies the following convention:

* 0 = value axis. in this case, the interpolation result of the referenced parameter is used as a base point index. 
* The index should only be specified if the parameter under swCalprm contains more than one axis. It is standard practice for the axis index of parameters with more than one axis, to be set to 1, if data has not been assigned to swAxisIndex.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGrouped.swAxisIndex";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:SW-CALPRM-REF-PROXY"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Axis::SwAxisGrouped -->
   <xsd:complexType abstract="false" mixed="false" name="SW-AXIS-GROUPED">
      <xsd:annotation>
         <xsd:documentation>An SwAxisGrouped is an axis which is shared between multiple calibration parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisGrouped"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-CALPRM-AXIS-TYPE-PROPS"/>
         <xsd:group ref="AR:SW-AXIS-GROUPED"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Axis::SwAxisIndividual -->
   <xsd:group name="SW-AXIS-INDIVIDUAL">
      <xsd:annotation>
         <xsd:documentation>This meta-class describes an axis integrated into a parameter (field etc.). The integration makes this individual to each parameter. The so-called grouped axis represents the counterpart to this. It is conceived as an independent parameter (see class SwAxisGrouped).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INPUT-VARIABLE-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the datatype of the input value for the axis. This allows to define e.g. a type of curve, where the input value is finalized at the access point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.inputVariableType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-PRIMITIVE-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VARIABLE-REFS">
            <xsd:annotation>
               <xsd:documentation>Refers to input variables of the axis. It is possible to specify more than one variable. Here the following is valid:

* The variable with the highest priority shall be given first. It is used in the generation of the code and is also displayed first in the application system.

* All variables referenced shall be of the same physical nature. This is usually detected in that the conversion formulae affected refer back to the same SI-units.
In AUTOSAR this ensured by the constraint, that the referenced input variables shall use a type compatible to "inputVariableType".

* This multiple referencing allows a base point distribution for more than one input variable to be used. One example of this are the temperature curves which can depend both on the induction air temperature and the engine temperature.

These variables can be displayed simultaneously by MCD systems (adjustment systems), enabling operating points to be shown in the curves.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.swVariableRef";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="false";xml.roleWrapperElement="true";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:group ref="AR:SW-VARIABLE-REF-PROXY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-METHOD-REF">
            <xsd:annotation>
               <xsd:documentation>This is the compuMethod which is expected for the axis. It is used in early stages if the particular input-value is not yet available.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.compuMethod";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMPU-METHOD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the physical unit of the input value of the axis. It is provided to support the case that the particular input variable is not yet known.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-MAX-AXIS-POINTS" type="AR:INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Maximum number of base points contained in the axis of a map or curve.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.swMaxAxisPoints";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-MIN-AXIS-POINTS" type="AR:INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Minimum number of base points contained in the axis of a map or curve.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.swMinAxisPoints";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-CONSTR-REF">
            <xsd:annotation>
               <xsd:documentation>Refers to constraints, e.g. for plausibility checks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.dataConstr";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-CONSTR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-GENERIC" type="AR:SW-AXIS-GENERIC">
            <xsd:annotation>
               <xsd:documentation>this specifies the properties of a generic axis if applicable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual.swAxisGeneric";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Axis::SwAxisIndividual -->
   <xsd:complexType abstract="false" mixed="false" name="SW-AXIS-INDIVIDUAL">
      <xsd:annotation>
         <xsd:documentation>This meta-class describes an axis integrated into a parameter (field etc.). The integration makes this individual to each parameter. The so-called grouped axis represents the counterpart to this. It is conceived as an independent parameter (see class SwAxisGrouped).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisIndividual"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-CALPRM-AXIS-TYPE-PROPS"/>
         <xsd:group ref="AR:SW-AXIS-INDIVIDUAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Axis::SwAxisType -->
   <xsd:group name="SW-AXIS-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a specific axis calculation strategy. No formal specification is given, due to the fact that it is possible to use arbitrary algorithms for calculating axis-points. 

Instead, the algorithm is described verbally but the parameters are specified formally with respect to their names and constraints. As a result, SwAxisType mainly reserves appropriate keywords.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwAxisTypes";mmt.qualifiedName="SwAxisType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-GENERIC-AXIS-DESC" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>Associated axis description in textual form.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisType.swGenericAxisDesc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-GENERIC-AXIS-PARAM-TYPES">
            <xsd:annotation>
               <xsd:documentation>Parameters for this calculation algorithm.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwAxisType.swGenericAxisParamType";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="30";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-GENERIC-AXIS-PARAM-TYPE" type="AR:SW-GENERIC-AXIS-PARAM-TYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Axis::SwAxisType -->
   <xsd:complexType abstract="false" mixed="false" name="SW-AXIS-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a specific axis calculation strategy. No formal specification is given, due to the fact that it is possible to use arbitrary algorithms for calculating axis-points. 

Instead, the algorithm is described verbally but the parameters are specified formally with respect to their names and constraints. As a result, SwAxisType mainly reserves appropriate keywords.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwAxisTypes";mmt.qualifiedName="SwAxisType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SW-AXIS-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-AXIS-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-AXIS-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class BaseTypes::SwBaseType -->
   <xsd:group name="SW-BASE-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a base type used within ECU software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BaseTypes";mmt.qualifiedName="SwBaseType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class BaseTypes::SwBaseType -->
   <xsd:complexType abstract="false" mixed="false" name="SW-BASE-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a base type used within ECU software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="BaseTypes";mmt.qualifiedName="SwBaseType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:BASE-TYPE"/>
         <xsd:group ref="AR:SW-BASE-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-BASE-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-BASE-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataDefProperties::SwBitRepresentation -->
   <xsd:group name="SW-BIT-REPRESENTATION">
      <xsd:annotation>
         <xsd:documentation>Description of the structure of a bit variable: Comprises of the bitPosition in a memory object (e.g. swHostVariable, which stands parallel to swBitRepresentation) and the numberOfBits . In this way, interrelated memory areas can be described. Non-related memory areas are not supported.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwBitRepresentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BIT-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>If the "bit data object" is hosted within another data object (e.g. if the memory can be accessed via byte as well as bit address), this attribute specifies the position of the data object. The count starts at zero (0).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwBitRepresentation.bitPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUMBER-OF-BITS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Number of bits allocated by a "bit data object" within its host data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwBitRepresentation.numberOfBits";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwBitRepresentation -->
   <xsd:complexType abstract="false" mixed="false" name="SW-BIT-REPRESENTATION">
      <xsd:annotation>
         <xsd:documentation>Description of the structure of a bit variable: Comprises of the bitPosition in a memory object (e.g. swHostVariable, which stands parallel to swBitRepresentation) and the numberOfBits . In this way, interrelated memory areas can be described. Non-related memory areas are not supported.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwBitRepresentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-BIT-REPRESENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CalibrationParameter::SwCalprmAxis -->
   <xsd:group name="SW-CALPRM-AXIS">
      <xsd:annotation>
         <xsd:documentation>This element specifies an individual input parameter axis (abscissa).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxis"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-AXIS-INDEX" type="AR:AXIS-INDEX-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies which axis is specified by the containing SwCalprmAxis.

For example in a curve this is usually "1". In a map this is "1" or "2".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxis.swAxisIndex";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:CALPRM-AXIS-CATEGORY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This property specifies the category of a particular axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxis.category";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:element name="SW-AXIS-GROUPED" type="AR:SW-AXIS-GROUPED"/>
            <xsd:element name="SW-AXIS-INDIVIDUAL" type="AR:SW-AXIS-INDIVIDUAL"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-CALIBRATION-ACCESS" type="AR:SW-CALIBRATION-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Describes the applicability of parameters and variables.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxis.swCalibrationAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISPLAY-FORMAT" type="AR:DISPLAY-FORMAT-STRING">
            <xsd:annotation>
               <xsd:documentation>This property specifies how the axis values shall be displayed e.g. in documents or in measurement and calibration tools.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxis.displayFormat";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="100"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>The SwBaseType to be used for the axis. Note that this is not applicable for ApplicationDataTypes. The value shall be ignored.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwCalprmAxis.baseType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="110"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-BASE-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationParameter::SwCalprmAxis -->
   <xsd:complexType abstract="false" mixed="false" name="SW-CALPRM-AXIS">
      <xsd:annotation>
         <xsd:documentation>This element specifies an individual input parameter axis (abscissa).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxis"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-CALPRM-AXIS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CalibrationParameter::SwCalprmAxisSet -->
   <xsd:group name="SW-CALPRM-AXIS-SET">
      <xsd:annotation>
         <xsd:documentation>This element specifies the input parameter axes (abscissas) of parameters (and variables, if these are used adaptively).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxisSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="SW-CALPRM-AXIS" type="AR:SW-CALPRM-AXIS">
            <xsd:annotation>
               <xsd:documentation>One axis belonging to this SwCalprmAxisSet</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxisSet.swCalprmAxis";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationParameter::SwCalprmAxisSet -->
   <xsd:complexType abstract="false" mixed="false" name="SW-CALPRM-AXIS-SET">
      <xsd:annotation>
         <xsd:documentation>This element specifies the input parameter axes (abscissas) of parameters (and variables, if these are used adaptively).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxisSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-CALPRM-AXIS-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CalibrationParameter::SwCalprmAxisTypeProps -->
   <xsd:group name="SW-CALPRM-AXIS-TYPE-PROPS">
      <xsd:annotation>
         <xsd:documentation>Base class for the type of the calibration axis. This provides the particular model of the specialization. If the specialization would be the directly from SwCalPrmAxis, the sequence of common properties and the specializes ones would be different.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxisTypeProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-GRADIENT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the maximum permissible gradient for an adjustable object (curve, map or cuboid) with respect to a specific axis.
MaxGrad  =  maximum( absolute((Value i,k - Value i-1,k)/(Axis Point i - Axis Point i-1)) )</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxisTypeProps.maxGradient";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MONOTONY" type="AR:MONOTONY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the monotony constraint for an adjustable object (curve, map or cuboid) with respect to a specific axis. This information can be used by MCD  system to verify whether the monotony constraint is fulfilled and to prevent from changes violating the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmAxisTypeProps.monotony";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DatadictionaryProxies::SwCalprmRefProxy -->
   <xsd:group name="SW-CALPRM-REF-PROXY">
      <xsd:annotation>
         <xsd:documentation>Wrapper class for different kinds of references to a calibration parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmRefProxy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-PARAMETER" type="AR:AUTOSAR-PARAMETER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents a Parameter within AUTOSAR. Note that the Datatype of the referenced ParameterDataPrototype shall be an ApplicationDataType of category VALUE.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmRefProxy.arParameter";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is used in the McSupport file to express the final instance of group axis etc. It is not allowed to use this outside of an McDataInstance.

The referenced mcDataInstance shall be originated from a ParameterDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmRefProxy.mcDataInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MC-DATA-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DatadictionaryProxies::SwCalprmRefProxy -->
   <xsd:complexType abstract="false" mixed="false" name="SW-CALPRM-REF-PROXY">
      <xsd:annotation>
         <xsd:documentation>Wrapper class for different kinds of references to a calibration parameter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalprmRefProxy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-CALPRM-REF-PROXY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SoftwareComponentDocumentation::SwComponentDocumentation -->
   <xsd:group name="SW-COMPONENT-DOCUMENTATION">
      <xsd:annotation>
         <xsd:documentation>This class specifies the ability to write dedicated documentation to a component type according to ASAM FSX.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-FEATURE-DEF" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element contains the definition of the physical functionality of this software component. This definition is more or less formal and is intended to be delivered from modeling tools.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swFeatureDef";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="20";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-FEATURE-DESC" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element contains the textual description of the software functionality of this software component. Expert should write this description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swFeatureDesc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="30";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-TEST-DESC" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element contains suggestions and hints for the test of the software functionality of this software component.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swTestDesc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="50";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-CALIBRATION-NOTES" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element contains calibration instructions and hints for a calibration engineer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swCalibrationNotes";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="60";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-MAINTENANCE-NOTES" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element contains information regarding the software maintenance of the component.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swMaintenanceNotes";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="70";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DIAGNOSTICS-NOTES" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element contains general information about diagnostics issues within the component.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swDiagnosticsNotes";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="75";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-CARB-DOC" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>This element records the documentation requested by CARB.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.swCarbDoc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.roleElement="true";xml.sequenceOffset="80";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CHAPTER" type="AR:CHAPTER">
            <xsd:annotation>
               <xsd:documentation>These chapters provide additional information about the software component that do not fit in the other chapters.

Note that this is subject to variation because Chapter aggregations in the role chapter are variant within the documentation in general.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.chapter";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="100";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SoftwareComponentDocumentation::SwComponentDocumentation -->
   <xsd:complexType abstract="false" mixed="false" name="SW-COMPONENT-DOCUMENTATION">
      <xsd:annotation>
         <xsd:documentation>This class specifies the ability to write dedicated documentation to a component type according to ASAM FSX.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentDocumentation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-COMPONENT-DOCUMENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Composition::SwComponentPrototype -->
   <xsd:group name="SW-COMPONENT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Role of a software component within a composition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TYPE-TREF">
            <xsd:annotation>
               <xsd:documentation>Type of the instance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentPrototype.type";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">isOfType</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Composition::SwComponentPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="SW-COMPONENT-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Role of a software component within a composition.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:SW-COMPONENT-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-COMPONENT-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Components::SwComponentType -->
   <xsd:group name="SW-COMPONENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>Base class for AUTOSAR software components.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-COMPONENT-DOCUMENTATIONS">
            <xsd:annotation>
               <xsd:documentation>This adds a documentation to the SwComponentType.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="swComponentDocumentation, variationPoint.shortLabel";mmt.qualifiedName="SwComponentType.swComponentDocumentation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="-10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-COMPONENT-DOCUMENTATION" type="AR:SW-COMPONENT-DOCUMENTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONSISTENCY-NEEDSS">
            <xsd:annotation>
               <xsd:documentation>This represents the colelction of ConsistencyNeeds owned by the enclosing SwComponentType.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwComponentType.consistencyNeeds";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CONSISTENCY-NEEDS" type="AR:CONSISTENCY-NEEDS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORTS">
            <xsd:annotation>
               <xsd:documentation>The PortPrototypes through which this SwComponentType can communicate.

The aggregation of PortPrototype is subject to variability with the purpose to support the conditional existence of PortPrototypes.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwComponentType.port";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="P-PORT-PROTOTYPE" type="AR:P-PORT-PROTOTYPE"/>
                  <xsd:element name="PR-PORT-PROTOTYPE" type="AR:PR-PORT-PROTOTYPE"/>
                  <xsd:element name="R-PORT-PROTOTYPE" type="AR:R-PORT-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-GROUPS">
            <xsd:annotation>
               <xsd:documentation>A port group being part of this component.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentType.portGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PORT-GROUP" type="AR:PORT-GROUP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-GROUP-REFS">
            <xsd:annotation>
               <xsd:documentation>This allows for the specification of which UnitGroups are relevant in the context of referencing SwComponentType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwComponentType.unitGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="UNIT-GROUP-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:UNIT-GROUP--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="SW-COMPONENT-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ATOMIC-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPLEX-DEVICE-DRIVER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="COMPOSITION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="ECU-ABSTRACTION-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="NV-BLOCK-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="PARAMETER-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SENSOR-ACTUATOR-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-PROXY-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SERVICE-SW-COMPONENT-TYPE"/>
         <xsd:enumeration value="SW-COMPONENT-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Composition::SwConnector -->
   <xsd:group name="SW-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>The base class for connectors between ports. Connectors have to be identifiable to allow references from the system constraint template.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPING-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a PortInterfaceMapping specifying the mapping of unequal named PortInterface elements of the two different PortInterfaces typing the two PortPrototypes which are referenced by the ConnectorPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwConnector.mapping";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-INTERFACE-MAPPING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwConnector.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataDefProperties::SwDataDefProps -->
   <xsd:group name="SW-DATA-DEF-PROPS">
      <xsd:annotation>
         <xsd:documentation>This class is a collection of properties relevant for data objects under various aspects. One could consider this class as a "pattern of inheritance by aggregation". The properties can be applied to all objects of all classes in which SwDataDefProps is aggregated.

Note that not all of the attributes or associated elements are useful all of the time. Hence, the process definition (e.g. expressed with an OCL or a Document Control Instance MSR-DCI) has the task of implementing limitations.

SwDataDefProps covers various aspects:

* Structure of the data element for calibration use cases: is it a single value, a curve, or a map, but also the recordLayouts which specify how such elements are mapped/converted to the DataTypes in the programming language (or in AUTOSAR). This is mainly expressed by properties like swRecordLayout and swCalprmAxisSet 

* Implementation aspects, mainly expressed by swImplPolicy, swVariableAccessImplPolicy, swAddrMethod, swPointerTagetProps, baseType, implementationDataType and additionalNativeTypeQualifier

* Access policy for the MCD system, mainly expressed by swCalibrationAccess 

* Semantics of the data element, mainly expressed by compuMethod and/or unit, dataConstr, invalidValue

* Code generation policy provided by swRecordLayout</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.SwDataDefPropsVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-DATA-DEF-PROPS-CONDITIONAL" type="AR:SW-DATA-DEF-PROPS-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwDataDefProps -->
   <xsd:complexType abstract="false" mixed="false" name="SW-DATA-DEF-PROPS">
      <xsd:annotation>
         <xsd:documentation>This class is a collection of properties relevant for data objects under various aspects. One could consider this class as a "pattern of inheritance by aggregation". The properties can be applied to all objects of all classes in which SwDataDefProps is aggregated.

Note that not all of the attributes or associated elements are useful all of the time. Hence, the process definition (e.g. expressed with an OCL or a Document Control Instance MSR-DCI) has the task of implementing limitations.

SwDataDefProps covers various aspects:

* Structure of the data element for calibration use cases: is it a single value, a curve, or a map, but also the recordLayouts which specify how such elements are mapped/converted to the DataTypes in the programming language (or in AUTOSAR). This is mainly expressed by properties like swRecordLayout and swCalprmAxisSet 

* Implementation aspects, mainly expressed by swImplPolicy, swVariableAccessImplPolicy, swAddrMethod, swPointerTagetProps, baseType, implementationDataType and additionalNativeTypeQualifier

* Access policy for the MCD system, mainly expressed by swCalibrationAccess 

* Semantics of the data element, mainly expressed by compuMethod and/or unit, dataConstr, invalidValue

* Code generation policy provided by swRecordLayout</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps";vh.latestBindingTime="codeGenerationTime"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-DATA-DEF-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataDefProperties::SwDataDefPropsConditional -->
   <xsd:group name="SW-DATA-DEF-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefPropsConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwDataDefPropsConditional -->
   <xsd:complexType abstract="false" mixed="false" name="SW-DATA-DEF-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-DATA-DEF-PROPS-CONTENT"/>
         <xsd:group ref="AR:SW-DATA-DEF-PROPS-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataDefProperties::SwDataDefPropsContent -->
   <xsd:group name="SW-DATA-DEF-PROPS-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefPropsContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="STEP-SIZE" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>This attribute can be used to define a value which is added to or subtracted from the value of a DataPrototype when using up/down keys while calibrating.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.stepSize";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>This aggregation allows to add annotations (yellow pads ...) related to the current data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.annotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="true";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANNOTATION" type="AR:ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ADDR-METHOD-REF">
            <xsd:annotation>
               <xsd:documentation>Addressing method related to this data object. Via an association to the same SwAddrMethod it can be specified that several DataPrototypes shall be located in the same memory without already specifying the memory section itself.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swAddrMethod";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-ADDR-METHOD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ALIGNMENT" type="AR:ALIGNMENT-TYPE">
            <xsd:annotation>
               <xsd:documentation>The attribute describes the intended alignment of the DataPrototype. If the attribute is not defined the alignment is determined by the swBaseType size and the memoryAllocationKeywordPolicy of the referenced SwAddrMethod.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swAlignment";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="33"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Base type associated with the containing data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.baseType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-BASE-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-BIT-REPRESENTATION" type="AR:SW-BIT-REPRESENTATION">
            <xsd:annotation>
               <xsd:documentation>Description of the binary representation in case of a bit variable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swBitRepresentation";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-CALIBRATION-ACCESS" type="AR:SW-CALIBRATION-ACCESS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the read or write access by MCD tools for this data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swCalibrationAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VALUE-BLOCK-SIZE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This represents the size of a Value Block</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swValueBlockSize";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-CALPRM-AXIS-SET" type="AR:SW-CALPRM-AXIS-SET">
            <xsd:annotation>
               <xsd:documentation>This specifies the properties of the axes in case of a curve or map etc. This is mainly applicable to calibration parameters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swCalprmAxisSet";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-TEXT-PROPS" type="AR:SW-TEXT-PROPS">
            <xsd:annotation>
               <xsd:documentation>the specific properties if the data object is a text object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swTextProps";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="120"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-COMPARISON-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>Variables used for comparison in an MCD process.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swComparisonVariable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="170";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:group ref="AR:SW-VARIABLE-REF-PROXY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPU-METHOD-REF">
            <xsd:annotation>
               <xsd:documentation>Computation method associated with the semantics of this data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.compuMethod";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="180"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMPU-METHOD--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-CONSTR-REF">
            <xsd:annotation>
               <xsd:documentation>Data constraint for this data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.dataConstr";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="190"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-CONSTR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEPENDENCY" type="AR:SW-DATA-DEPENDENCY">
            <xsd:annotation>
               <xsd:documentation>Describes how the value of the data object has to be calculated from the value of another data object (by the MCD system).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swDataDependency";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="200"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISPLAY-FORMAT" type="AR:DISPLAY-FORMAT-STRING">
            <xsd:annotation>
               <xsd:documentation>This property describes how a number is to be rendered e.g. in documents or in a measurement and calibration system.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.displayFormat";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="210"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This association denotes the ImplementationDataType of a data declaration via its aggregated SwDataDefProps. It is used whenever a data declaration is not directly referring to a base type. Especially

* redefinition of an ImplementationDataType via a "typedef" to another ImplementationDatatype
* the target type of a pointer (see SwPointerTargetProps), if it does not refer to a base type directly
* the data type of an array or record element within an ImplementationDataType, if it does not refer to a base type directly
* the data type of an SwServiceArg, if it does not refer to a base type directly</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.implementationDataType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="215"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-HOST-VARIABLE" type="AR:SW-VARIABLE-REF-PROXY">
            <xsd:annotation>
               <xsd:documentation>Contains a reference to a variable which serves as a host-variable for a bit variable. Only applicable to bit objects.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swHostVariable";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="220";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-IMPL-POLICY" type="AR:SW-IMPL-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Implementation policy for this data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="230"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ADDITIONAL-NATIVE-TYPE-QUALIFIER" type="AR:NATIVE-DECLARATION-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to declare native qualifiers of the programming language which can neither be deduced from the baseType (e.g. because the data object describes a pointer) nor from other more abstract attributes. Examples are qualifiers like "volatile", "strict" or "enum" of the C-language. All such declarations have to be put into one string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.additionalNativeTypeQualifier";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="235"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-INTENDED-RESOLUTION" type="AR:NUMERICAL-VALUE">
            <xsd:annotation>
               <xsd:documentation>The purpose of this element is to describe the requested quantization of data objects early on in the design process. 

The resolution ultimately occurs via the conversion formula present (compuMethod), which specifies the transition from the physical world to the standardized world (and vice-versa) (here, "the slope per bit" is present implicitly in the conversion formula). 

In the case of a development phase without a fixed conversion formula, a pre-specification can occur through swIntendedResolution.

The resolution is specified in the physical domain according to the property "unit".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swIntendedResolution";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="240"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-INTERPOLATION-METHOD" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This is a keyword identifying the mathematical method to be applied for interpolation. The keyword needs to be related to the interpolation routine which needs to be invoked.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swInterpolationMethod";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="250"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INVALID-VALUE">
            <xsd:annotation>
               <xsd:documentation>Optional value to express invalidity of the actual data element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.invalidValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="255"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-FUNCTION" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Specifies the name of a "Function" (in the sense of the MC system) to which this data object belongs. This corresponds to the Function in ASAM MCD 2MC /ASAP2 which defines the characteristic resp. which provides the measurement as output.

The function name is only used for support of MC systems. It can be predefined on the level of software component design. If it  is not  predefined, it could be filled out with a reasonable name, e.g. the component  prototype name, from the ECU extract. 

Note: This attribute is deprecated because an explicit model of MC functions can be set up by using the meta-class McFunction.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwDataDefProps.mcFunction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="257"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-IS-VIRTUAL" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This element distinguishes virtual objects. Virtual objects do not appear in the memory, their derivation is much more dependent on other objects and hence they shall have a swDataDependency .</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swIsVirtual";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="260"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-POINTER-TARGET-PROPS" type="AR:SW-POINTER-TARGET-PROPS">
            <xsd:annotation>
               <xsd:documentation>Specifies that the containing data object is a pointer to another data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swPointerTargetProps";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="280"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-REF">
            <xsd:annotation>
               <xsd:documentation>Record layout for this data object.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swRecordLayout";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="290"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-RECORD-LAYOUT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-REFRESH-TIMING" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>This element specifies the frequency in which the object involved shall be or is called or calculated.  This timing can be collected from the task in which write access processes to the variable run. But this cannot be done by the MCD system. 

So this attribute can be used in an early phase to express the desired refresh timing and later on to specify the real refresh timing.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.swRefreshTiming";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="300"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>Physical unit associated with the semantics of this data object. This attribute applies if no compuMethod is specified. If both units (this as well as via compuMethod) are specified the units shall be compatible.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.unit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="350"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-AXIS-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced ApplicationPrimitiveDataType represents the primitive data type of the value axis within a compound primitive (e.g. curve, map). It supersedes CompuMethod, Unit, and BaseType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDefProps.valueAxisDataType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="355"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-PRIMITIVE-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataDefProperties::SwDataDependency -->
   <xsd:group name="SW-DATA-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>This element describes the interdependencies of data objects, e.g. variables and parameters. 

Use cases:
* Calculate the value of a calibration parameter (by the MCD system) from the value(s) of other calibration parameters.
* Virtual data - that means the data object is not directly in the ecu and this property describes how the "virtual variable" can be computed from the real ones (by the MCD system).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEPENDENCY-FORMULA" type="AR:COMPU-GENERIC-MATH">
            <xsd:annotation>
               <xsd:documentation>This element describes the formula with which the dependencies between the participating objects are defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDependency.swDataDependencyFormula";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEPENDENCY-ARGS" type="AR:SW-DATA-DEPENDENCY-ARGS">
            <xsd:annotation>
               <xsd:documentation>Specifies the arguments used in the data dependency. Note that this is 0..1 since the aggregated class is a container (atpMixed).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDependency.swDataDependencyArgs";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwDataDependency -->
   <xsd:complexType abstract="false" mixed="false" name="SW-DATA-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>This element describes the interdependencies of data objects, e.g. variables and parameters. 

Use cases:
* Calculate the value of a calibration parameter (by the MCD system) from the value(s) of other calibration parameters.
* Virtual data - that means the data object is not directly in the ecu and this property describes how the "virtual variable" can be computed from the real ones (by the MCD system).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-DATA-DEPENDENCY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataDefProperties::SwDataDependencyArgs -->
   <xsd:group name="SW-DATA-DEPENDENCY-ARGS">
      <xsd:annotation>
         <xsd:documentation>This element specifies the elements used in a SwDataDependency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDependencyArgs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:choice maxOccurs="unbounded" minOccurs="0">
               <xsd:group ref="AR:SW-CALPRM-REF-PROXY"/>
            </xsd:choice>
            <xsd:choice maxOccurs="unbounded" minOccurs="0">
               <xsd:group ref="AR:SW-VARIABLE-REF-PROXY"/>
            </xsd:choice>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwDataDependencyArgs -->
   <xsd:complexType abstract="false" mixed="false" name="SW-DATA-DEPENDENCY-ARGS">
      <xsd:annotation>
         <xsd:documentation>This element specifies the elements used in a SwDataDependency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwDataDependencyArgs"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-DATA-DEPENDENCY-ARGS"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Axis::SwGenericAxisParam -->
   <xsd:group name="SW-GENERIC-AXIS-PARAM">
      <xsd:annotation>
         <xsd:documentation>This meta-class describes a specific parameter of a generic axis. The name of the parameter is defined through a reference to a parameter type defined on a corresponding axis type.

The value of the parameter is given here in case that it is not changeable during calibration. Example is shift / offset in a fixed axis.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParam"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-GENERIC-AXIS-PARAM-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>Parameter type defined on a corresponding axis type. References can only be made to axis parameters types which are defined within the referenced axis type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParam.swGenericAxisParamType";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-GENERIC-AXIS-PARAM-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="VF" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the value of the generic axis parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParam.vf";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="30";xml.typeElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Axis::SwGenericAxisParam -->
   <xsd:complexType abstract="false" mixed="false" name="SW-GENERIC-AXIS-PARAM">
      <xsd:annotation>
         <xsd:documentation>This meta-class describes a specific parameter of a generic axis. The name of the parameter is defined through a reference to a parameter type defined on a corresponding axis type.

The value of the parameter is given here in case that it is not changeable during calibration. Example is shift / offset in a fixed axis.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParam"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-GENERIC-AXIS-PARAM"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Axis::SwGenericAxisParamType -->
   <xsd:group name="SW-GENERIC-AXIS-PARAM-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class describes a generic axis parameter type, namely:

* Plausibility checks can be specified via dataConstr.

* Textual description (desc), as a formal description is not of any use, due to the large variety of possibilities.

* If this parameter contains structures, these can be simulated through the recursive use of SwGenericAxisParamTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParamType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-CONSTR-REF">
            <xsd:annotation>
               <xsd:documentation>This refernce denoted data constraints applicable to the generic axis parameter.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParamType.dataConstr";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-CONSTR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Axis::SwGenericAxisParamType -->
   <xsd:complexType abstract="false" mixed="false" name="SW-GENERIC-AXIS-PARAM-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class describes a generic axis parameter type, namely:

* Plausibility checks can be specified via dataConstr.

* Textual description (desc), as a formal description is not of any use, due to the large variety of possibilities.

* If this parameter contains structures, these can be simulated through the recursive use of SwGenericAxisParamTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwGenericAxisParamType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SW-GENERIC-AXIS-PARAM-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-GENERIC-AXIS-PARAM-TYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-GENERIC-AXIS-PARAM-TYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataDefProperties::SwPointerTargetProps -->
   <xsd:group name="SW-POINTER-TARGET-PROPS">
      <xsd:annotation>
         <xsd:documentation>This element defines, that the data object (which is specified by the aggregating element) contains a reference to another data object or to a function in the CPU code. This corresponds to a pointer in the C-language.

The attributes of this element describe the category and the detailed properties of the target which is either a data description or a function signature.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwPointerTargetProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-CATEGORY" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This specifies the category of the target:

* In case of a data pointer, it shall specify the category of the referenced data.

* In case of a function pointer, it could be used to denote the category of the referenced BswModuleEntry. Since currently no categories for BswModuleEntry are defined it will be empty.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwPointerTargetProps.targetCategory";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>The properties of the target data type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwPointerTargetProps.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FUNCTION-POINTER-SIGNATURE-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced BswModuleEntry serves as the signature of a function pointer definition. Primary use case: function pointer passed as argument to other function.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwPointerTargetProps.functionPointerSignature";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwPointerTargetProps -->
   <xsd:complexType abstract="false" mixed="false" name="SW-POINTER-TARGET-PROPS">
      <xsd:annotation>
         <xsd:documentation>This element defines, that the data object (which is specified by the aggregating element) contains a reference to another data object or to a function in the CPU code. This corresponds to a pointer in the C-language.

The attributes of this element describe the category and the detailed properties of the target which is either a data description or a function signature.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwPointerTargetProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-POINTER-TARGET-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RecordLayout::SwRecordLayout -->
   <xsd:group name="SW-RECORD-LAYOUT">
      <xsd:annotation>
         <xsd:documentation>Defines how the data objects (variables, calibration parameters etc.) are to be stored in the ECU memory. As an example, this definition specifies the sequence of axis points in the ECU memory. Iterations through axis values are stored within the sub-elements swRecordLayoutGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwRecordLayouts";mmt.qualifiedName="SwRecordLayout"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-GROUP" type="AR:SW-RECORD-LAYOUT-GROUP">
            <xsd:annotation>
               <xsd:documentation>This is the top level record layout group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayout.swRecordLayoutGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RecordLayout::SwRecordLayout -->
   <xsd:complexType abstract="false" mixed="false" name="SW-RECORD-LAYOUT">
      <xsd:annotation>
         <xsd:documentation>Defines how the data objects (variables, calibration parameters etc.) are to be stored in the ECU memory. As an example, this definition specifies the sequence of axis points in the ECU memory. Iterations through axis values are stored within the sub-elements swRecordLayoutGroup.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwRecordLayouts";mmt.qualifiedName="SwRecordLayout"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SW-RECORD-LAYOUT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-RECORD-LAYOUT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-RECORD-LAYOUT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RecordLayout::SwRecordLayoutGroup -->
   <xsd:group name="SW-RECORD-LAYOUT-GROUP">
      <xsd:annotation>
         <xsd:documentation>Specifies how a record layout is set up. Using SwRecordLayoutGroup it recursively models iterations through axis values. The subelement swRecordLayoutGroupContentType may reference other SwRecordLayouts, SwRecordLayoutVs and SwRecordLayoutGroups for the modeled record layout.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies a name which can be used e.g. when ECU code is generated from the record layout group.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="3"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:ASAM-RECORD-LAYOUT-SEMANTICS">
            <xsd:annotation>
               <xsd:documentation>This attribute denotes the semantics in particular in terms of the corresponding A2L-Keyword. This is to support the mapping of the more general record layouts in AUTOSAR/MSR to the specific A2l keywords. 

It is possible to express the specific semantics of A2l recordlayout keywords in swRecordlayoutGroup but not always vice versa. Therefore the mapping is provided in this optional attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.category";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This aggregation allows a brief description about the particular record layout group which can help to identify the entry. In-depth documentation should be added  to the introduction of the surrounding record layout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-GROUP-AXIS" type="AR:AXIS-INDEX-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the iteration axis number for a SwRecordLayoutGroup. The current record layout group then refers exactly to the axis with this number. This means that the values are taken by iterating along the thus referenced axis.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swRecordLayoutGroupAxis";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-GROUP-INDEX" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute attributes a symbolic name to the iterator of the superimposed record layout group. This can be referenced as a loop index in contained SwRecordLayoutV elements.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swRecordLayoutGroupIndex";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-GENERIC-AXIS-PARAM-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This association allows to specify record layout groups to iterate over generic axis parameters. For example, if the generic axis parameter is an array, the record layout group will iterate over this array. 

Obviously, the axis referred to by swRecordLayoutGroupAxis shall be a generic axis in which the referenced SwGenericAxisType is aggregated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swGenericAxisParamType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-GENERIC-AXIS-PARAM-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-GROUP-FROM" type="AR:RECORD-LAYOUT-ITERATOR-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the iterator index for the point in the axis from which a record layout group is commenced. 

Negative values are also possible, i.e. the value -4 counts from the fourth value from the end. If this property is missing, the iteration starts with '1'.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swRecordLayoutGroupFrom";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-GROUP-TO" type="AR:RECORD-LAYOUT-ITERATOR-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the end point for the iteration. Negative values are also possible, i.e. the value -4 counts up to the fourth value from the end. If this property is not there, the iteration ends at "-1" which is the last element.

Note that depending on the arraySizeSemantics of SwTextProps the iteration ends at the value specified in swMaxTextSize.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swRecordLayoutGroupTo";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-GROUP-STEP" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the step width for the iterator index that is used for the current record layout group. 

Note that negative values are also possible, in case of the starting point is higher than the endpoint. If the property is missing, the step width is "1".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swRecordLayoutGroupStep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-COMPONENT" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to denote the component to which the group in question applies. Thus, the record layout supports structured objects. 

This secures independence from the sequence of components, because they can be referred to via name.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup.swRecordLayoutComponent";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="90"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:SW-RECORD-LAYOUT-GROUP-CONTENT"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RecordLayout::SwRecordLayoutGroup -->
   <xsd:complexType abstract="false" mixed="false" name="SW-RECORD-LAYOUT-GROUP">
      <xsd:annotation>
         <xsd:documentation>Specifies how a record layout is set up. Using SwRecordLayoutGroup it recursively models iterations through axis values. The subelement swRecordLayoutGroupContentType may reference other SwRecordLayouts, SwRecordLayoutVs and SwRecordLayoutGroups for the modeled record layout.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-RECORD-LAYOUT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RecordLayout::SwRecordLayoutGroupContent -->
   <xsd:group name="SW-RECORD-LAYOUT-GROUP-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This is the contents of a RecordLayout which is inserted for every iteration. Note that since this is atpMixed, multiple properties can be inserted for each iteration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroupContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="SW-RECORD-LAYOUT-REF">
               <xsd:annotation>
                  <xsd:documentation>This association allows to support reusable "sub"-record layouts. In particluar, the contents of the referenced record layout shall be used as if the record layout group in the referenced record layout was aggregated in the current record layout group. 

So, semantically it would be equivalent to replace the particluar association with an aggregation of the  swRecordLayoutGroup of the referenced SwRecordLayout.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroupContent.swRecordLayout";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="110"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:SW-RECORD-LAYOUT--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="SW-RECORD-LAYOUT-V" type="AR:SW-RECORD-LAYOUT-V">
               <xsd:annotation>
                  <xsd:documentation>Particular Value specification for this record layout group.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroupContent.swRecordLayoutV";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="120"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="SW-RECORD-LAYOUT-GROUP" type="AR:SW-RECORD-LAYOUT-GROUP">
               <xsd:annotation>
                  <xsd:documentation>This aggregation provides support for nested iterations. For example, if a map is to be handled, then we might have two nested SwRecordLayoutGroups, one for the x-axis and one for the y-axis. The inner iteration runs faster.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroupContent.swRecordLayoutGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="130"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class RecordLayout::SwRecordLayoutGroupContent -->
   <xsd:complexType abstract="false" mixed="false" name="SW-RECORD-LAYOUT-GROUP-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This is the contents of a RecordLayout which is inserted for every iteration. Note that since this is atpMixed, multiple properties can be inserted for each iteration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutGroupContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-RECORD-LAYOUT-GROUP-CONTENT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RecordLayout::SwRecordLayoutV -->
   <xsd:group name="SW-RECORD-LAYOUT-V">
      <xsd:annotation>
         <xsd:documentation>This element specifies which values are stored for the current SwRecordLayoutGroup. If no baseType is present, the SwBaseType referenced initially in the parent SwRecordLayoutGroup is valid. The specification of swRecordLayoutVAxis gives the axis of the values which shall be stored in accordance with the current record layout SwRecordLayoutGroup. In swRecordLayoutVProp one can specify the information which shall be stored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies a name which can be used e.g. when ECU code is generated from the record layout value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="3"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CATEGORY" type="AR:ASAM-RECORD-LAYOUT-SEMANTICS">
            <xsd:annotation>
               <xsd:documentation>This attribute denotes the semantics in particular in terms of the corresponding A2L-Keyword. This is to support the mapping of the more general record layouts in AUTOSAR/MSR to the specific A2l keywords. It is possible to express the specific semantics of A2l RecordLayout keywords in swRecordlayoutGroup but not always vice versa. Therefore the mapping is provided in this optional attribute.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.category";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This aggregation allows for a brief description about the particular record layout value which can help to identify the entry. In-depth documentation should be added to the introduction of the surrounding record layout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This association allows to refer to a base type in case a specific encoding is intended. If no base type is referred, the base type referenced initially in the corresponding DataPrototype is to be used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.baseType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-BASE-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-V-AXIS" type="AR:AXIS-INDEX-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute gives the index of the axis of which values that are stored in the record. swRecordVIndex refers to the symbolic names of the iterators for which the axis value shall be stored in the record. 

In case of nested iterators (mainly for multidimensional objects) the iterator names are specified as whitespace-separated names. 

These symbolic names relate to swRecordLayoutGroupIndex. The iterators are processed from left to right in such a manner that they symbolize the loop index from the outside to the inside. 

It is considered an error if more components are specified than axes exist in the related ApplicationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.swRecordLayoutVAxis";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-V-PROP" type="AR:NMTOKEN-STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute describes the kind of values to be stored. More details see below. The standardized values foreseen for this attribute are defined in [TPS_SWCT_01489].</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.swRecordLayoutVProp";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-V-INDEX" type="AR:NMTOKENS-STRING">
            <xsd:annotation>
               <xsd:documentation>The symbolic value for iteration, or the symbolic values separated by whitespaces, refer to the symbolic values given in swRecordLayoutGroupIndex . 

The iterators are processed from left to right, in such a manner that they symbolize the loop index from the outside to the inside.

It is considered an error if the record layout is referenced by an entity which has less number of axes than index names referenced here.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.swRecordLayoutVIndex";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-GENERIC-AXIS-PARAM-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This association supports the case that a value from a generic axis definition shall be stored. This value is denoted by a particular generic axis parameter type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.swGenericAxisParamType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-GENERIC-AXIS-PARAM-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-RECORD-LAYOUT-V-FIX-VALUE" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>This attribute specifies the filler character for the current record layout, in the form of hex digits. It is also used to specify the fix value for e.g. FIXRIGHTDIFF.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV.swRecordLayoutVFixValue";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RecordLayout::SwRecordLayoutV -->
   <xsd:complexType abstract="false" mixed="false" name="SW-RECORD-LAYOUT-V">
      <xsd:annotation>
         <xsd:documentation>This element specifies which values are stored for the current SwRecordLayoutGroup. If no baseType is present, the SwBaseType referenced initially in the parent SwRecordLayoutGroup is valid. The specification of swRecordLayoutVAxis gives the axis of the values which shall be stored in accordance with the current record layout SwRecordLayoutGroup. In swRecordLayoutVProp one can specify the information which shall be stored.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwRecordLayoutV"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-RECORD-LAYOUT-V"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceProcessTask::SwServiceArg -->
   <xsd:group name="SW-SERVICE-ARG">
      <xsd:annotation>
         <xsd:documentation>Specifies the properties of a data object exchanged during the call of an SwService, e.g. an argument or a return value.

The SwServiceArg can also be used in the argument list of a C-macro. For this purpose the category shall be set to "MACRO". A reference to implementationDataType can optional be added if the actual argument has an implementationDataType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceArg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECTION" type="AR:ARGUMENT-DIRECTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the direction of the data transfer. The direction shall indicate the direction of the actual information that is being consumed by the caller and/or the callee, not the direction of formal arguments in C.

The attribute is optional for backwards compatibility reasons.
For example, if a pointer is used to pass a memory address for the expected result, the direction shall be "out".
If a pointer is used to pass a memory address with content to be read by the callee, its direction shall be "in".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceArg.direction";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ARRAYSIZE" type="AR:VALUE-LIST">
            <xsd:annotation>
               <xsd:documentation>This turns the argument of the service to an array.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceArg.swArraysize";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>Data properties of this SwServiceArg.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceArg.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceArg.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceProcessTask::SwServiceArg -->
   <xsd:complexType abstract="false" mixed="false" name="SW-SERVICE-ARG">
      <xsd:annotation>
         <xsd:documentation>Specifies the properties of a data object exchanged during the call of an SwService, e.g. an argument or a return value.

The SwServiceArg can also be used in the argument list of a C-macro. For this purpose the category shall be set to "MACRO". A reference to implementationDataType can optional be added if the actual argument has an implementationDataType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceArg"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SW-SERVICE-ARG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SystemConstant::SwSystemconst -->
   <xsd:group name="SW-SYSTEMCONST">
      <xsd:annotation>
         <xsd:documentation>This element defines a system constant which serves an input to 
select a particular variation point. In particular a system constant serves as an operand of the binding function (swSyscond) in a Variation point.

Note that the binding process can only happen  if a value was assigned to to the referenced system constants.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwSystemconsts";mmt.qualifiedName="SwSystemconst"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-DATA-DEF-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>This denotes the data defintion properties of the system constant. In particular it is the limits and - in case the system constant is an enumeration - the compu method.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconst.swDataDefProps";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemConstant::SwSystemconst -->
   <xsd:complexType abstract="false" mixed="false" name="SW-SYSTEMCONST">
      <xsd:annotation>
         <xsd:documentation>This element defines a system constant which serves an input to 
select a particular variation point. In particular a system constant serves as an operand of the binding function (swSyscond) in a Variation point.

Note that the binding process can only happen  if a value was assigned to to the referenced system constants.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwSystemconsts";mmt.qualifiedName="SwSystemconst"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-DEFINITION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-SYSTEMCONST--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-SYSTEMCONST"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class VariantHandling::SwSystemconstDependentFormula -->
   <xsd:group name="SW-SYSTEMCONST-DEPENDENT-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This class represents an expression depending on system constants.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstDependentFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="SYSC-STRING-REF">
               <xsd:annotation>
                  <xsd:documentation>syscString indicates that the referenced system constant shall be evaluated as a string according to [TPS_SWCT_01431].</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstDependentFormula.syscString";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:SW-SYSTEMCONST--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="SYSC-REF">
               <xsd:annotation>
                  <xsd:documentation>This refers to a system constant. The internal (coded) value of the system constant shall be used.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstDependentFormula.sysc";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:SW-SYSTEMCONST--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- element group for class VariantHandling::SwSystemconstValue -->
   <xsd:group name="SW-SYSTEMCONST-VALUE">
      <xsd:annotation>
         <xsd:documentation>This meta-class assigns a particular value to a system constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-SYSTEMCONST-REF">
            <xsd:annotation>
               <xsd:documentation>This is the system constant to which the value applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstValue.swSystemconst";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-SYSTEMCONST--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This is the particular value of a system constant. It is specified as Numerical. Further restrictions may apply by the definition of the system constant.

The value attribute defines the internal value of the SwSystemconst as it is processed  in the Formula Language.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ANNOTATIONS">
            <xsd:annotation>
               <xsd:documentation>This provides the ability to add information why the value is set like it is.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstValue.annotation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ANNOTATION" type="AR:ANNOTATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::SwSystemconstValue -->
   <xsd:complexType abstract="false" mixed="false" name="SW-SYSTEMCONST-VALUE">
      <xsd:annotation>
         <xsd:documentation>This meta-class assigns a particular value to a system constant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::SwSystemconstantValueSet -->
   <xsd:group name="SW-SYSTEMCONSTANT-VALUE-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a set of system constant values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwSystemconstantValueSets";mmt.qualifiedName="SwSystemconstantValueSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-SYSTEMCONSTANT-VALUES">
            <xsd:annotation>
               <xsd:documentation>This is one particular value of a system constant.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwSystemconstantValueSet.swSystemconstantValue";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SW-SYSTEMCONST-VALUE" type="AR:SW-SYSTEMCONST-VALUE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::SwSystemconstantValueSet -->
   <xsd:complexType abstract="false" mixed="false" name="SW-SYSTEMCONSTANT-VALUE-SET">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a set of system constant values.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwSystemconstantValueSets";mmt.qualifiedName="SwSystemconstantValueSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SW-SYSTEMCONSTANT-VALUE-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SW-SYSTEMCONSTANT-VALUE-SET--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SW-SYSTEMCONSTANT-VALUE-SET"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class DataDefProperties::SwTextProps -->
   <xsd:group name="SW-TEXT-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class expresses particular properties applicable to strings in variables or calibration parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwTextProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARRAY-SIZE-SEMANTICS" type="AR:ARRAY-SIZE-SEMANTICS-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the semantics of the arraysize for the array representing the string in an ImplementationDataType. 

It is there to support a safe conversion between ApplicationDatatype and ImplementationDatatype, even for variable length strings as required e.g. for Support of SAE J1939.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwTextProps.arraySizeSemantics";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-MAX-TEXT-SIZE" type="AR:INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum text size in characters. Note the size in bytes depends on the encoding in the corresponding baseType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwTextProps.swMaxTextSize";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the base type of one character in the string. In particular this baseType denotes the intended encoding of the characters in the string  on level of ApplicationDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwTextProps.baseType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-BASE-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-FILL-CHARACTER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Filler character for text parameter to pad up to the maximum length swMaxTextSize.

The value will be interpreted according to the encoding specified in the associated base type of the data object, e.g. 0x30 (hex) represents the ASCII character zero as filler character and 0 (dec) represents an end of string as filler character.

The usage of the fill character depends on the arraySizeSemantics.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwTextProps.swFillCharacter";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataDefProperties::SwTextProps -->
   <xsd:complexType abstract="false" mixed="false" name="SW-TEXT-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class expresses particular properties applicable to strings in variables or calibration parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwTextProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-TEXT-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CalibrationValue::SwValueCont -->
   <xsd:group name="SW-VALUE-CONT">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the content of one particular SwInstance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwValueCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the physical unit of the provided values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwValueCont.unit";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-DISPLAY-NAME" type="AR:SINGLE-LANGUAGE-UNIT-NAMES">
            <xsd:annotation>
               <xsd:documentation>This specifies how the physical units of the current value set shall be displayed in documents or in user interfaces of tools.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwValueCont.unitDisplayName";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-ARRAYSIZE" type="AR:VALUE-LIST">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the size of each dimension for compound primitivies
CURVE, MAP, CUBOID, CUBE_4, CUBE_5, COM_AXIS, RES_AXIS, VAL_BLK, STRING.

For each dimension one value has to be defined, e.g. one in case of COM_AXIS and two or more in case of MAP.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwValueCont.swArraysize";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-VALUES-PHYS" type="AR:SW-VALUES">
            <xsd:annotation>
               <xsd:documentation>swValuesPhys represents the values in the physical domain.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwValueCont.swValuesPhys";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationValue::SwValueCont -->
   <xsd:complexType abstract="false" mixed="false" name="SW-VALUE-CONT">
      <xsd:annotation>
         <xsd:documentation>This metaclass represents the content of one particular SwInstance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwValueCont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-VALUE-CONT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CalibrationValue::SwValues -->
   <xsd:group name="SW-VALUES">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a list of values. These values can either be the input values of a curve (abscissa values) or the associated values (ordinate values). 

In case of multidimensional structures, the values are ordered such that the lowest index runs the fastest. In particular for maps and cuboids etc. the resulting long value list can be subsectioned using ValueGroup. But the processing needs to be done as if vg is not there.

Note that numerical values and textual values should not be mixed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwValues"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="VTF" type="AR:NUMERICAL-OR-TEXT">
               <xsd:annotation>
                  <xsd:documentation>Thias aggregation represents the ability to provide a value that is either numerical or text which existence is subject to variability.

From the formal point of view, the aggregation needs to have the multiplicity 1 because SwValues is modelled with stereotype &lt;&lt;atpMixed&gt;&gt;. Nevertheless, the existence of vtf is optional and subject to constraints.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwValues.vtf";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VF" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
               <xsd:annotation>
                  <xsd:documentation>This allows to specify the value as VariationPoint. It is distinguished to non variant for sake of compatibility to ASAM CDF 2.0.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwValues.vf";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime";xml.sequenceOffset="20"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VT" type="AR:VERBATIM-STRING">
               <xsd:annotation>
                  <xsd:documentation>This represents the values of textual data elements (Strings). Note that vt uses the | to separate the values for the different bitfield masks in case that the semantics of the related DataPrototype is described by means of a BITFIELD_TEXTTABLE in the associated CompuMethod.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwValues.vt";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="V" type="AR:NUMERICAL-VALUE">
               <xsd:annotation>
                  <xsd:documentation>This is a non variant Value. It is provided for sake of Compatibility to ASAM CDF.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwValues.v";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="VG" type="AR:VALUE-GROUP">
               <xsd:annotation>
                  <xsd:documentation>This allows to have intersections in the values in order to support specific rendering (eg. using stylesheets). For tools it is important that the v values are always processed in the same (flattened) order and the tool is able to interpret it without respecting vg.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="SwValues.vg";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class CalibrationValue::SwValues -->
   <xsd:complexType abstract="false" mixed="false" name="SW-VALUES">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a list of values. These values can either be the input values of a curve (abscissa values) or the associated values (ordinate values). 

In case of multidimensional structures, the values are ordered such that the lowest index runs the fastest. In particular for maps and cuboids etc. the resulting long value list can be subsectioned using ValueGroup. But the processing needs to be done as if vg is not there.

Note that numerical values and textual values should not be mixed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwValues"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-VALUES"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DatadictionaryProxies::SwVariableRefProxy -->
   <xsd:group name="SW-VARIABLE-REF-PROXY">
      <xsd:annotation>
         <xsd:documentation>Proxy class for several kinds of references to a variable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwVariableRefProxy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AUTOSAR-VARIABLE" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to a Variable in an Autosar system. Note that the target of the reference within AutosarVariableRef shall be typed by a  primitive data type</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwVariableRefProxy.autosarVariable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MC-DATA-INSTANCE-VAR-REF">
            <xsd:annotation>
               <xsd:documentation>This reference is used in the McSupport file to express the final instance of input values etc. It is not allowed to use this outside of an McDataInstance.

The referenced mcDataInstance shall be originated from a VariableDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwVariableRefProxy.mcDataInstanceVar";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MC-DATA-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DatadictionaryProxies::SwVariableRefProxy -->
   <xsd:complexType abstract="false" mixed="false" name="SW-VARIABLE-REF-PROXY">
      <xsd:annotation>
         <xsd:documentation>Proxy class for several kinds of references to a variable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwVariableRefProxy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SW-VARIABLE-REF-PROXY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SwcBswMapping::SwcBswMapping -->
   <xsd:group name="SWC-BSW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Maps an SwcInternalBehavior to an BswInternalBehavior. This is required to coordinate the API generation and the scheduling for AUTOSAR Service Components, ECU Abstraction Components and Complex Driver Components by the RTE and the BSW scheduling mechanisms.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwcBswMappings";mmt.qualifiedName="SwcBswMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-BEHAVIOR-REF">
            <xsd:annotation>
               <xsd:documentation>The mapped BswInternalBehavior</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswMapping.bswBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-INTERNAL-BEHAVIOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNNABLE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>A mapping between a pair of SWC and BSW runnables.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswMapping.runnableMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-BSW-RUNNABLE-MAPPING" type="AR:SWC-BSW-RUNNABLE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-BEHAVIOR-REF">
            <xsd:annotation>
               <xsd:documentation>The mapped SwcInternalBehavior.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswMapping.swcBehavior";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-INTERNAL-BEHAVIOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNCHRONIZED-MODE-GROUPS">
            <xsd:annotation>
               <xsd:documentation>A pair of SWC and BSW mode group prototypes to be synchronized by the scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswMapping.synchronizedModeGroup";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-BSW-SYNCHRONIZED-MODE-GROUP-PROTOTYPE" type="AR:SWC-BSW-SYNCHRONIZED-MODE-GROUP-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNCHRONIZED-TRIGGERS">
            <xsd:annotation>
               <xsd:documentation>A pair of SWC and BSW Triggers to be synchronized by the scheduler.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswMapping.synchronizedTrigger";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-BSW-SYNCHRONIZED-TRIGGER" type="AR:SWC-BSW-SYNCHRONIZED-TRIGGER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcBswMapping::SwcBswMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-BSW-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Maps an SwcInternalBehavior to an BswInternalBehavior. This is required to coordinate the API generation and the scheduling for AUTOSAR Service Components, ECU Abstraction Components and Complex Driver Components by the RTE and the BSW scheduling mechanisms.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwcBswMappings";mmt.qualifiedName="SwcBswMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:SWC-BSW-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SWC-BSW-MAPPING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SWC-BSW-MAPPING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SwcBswMapping::SwcBswRunnableMapping -->
   <xsd:group name="SWC-BSW-RUNNABLE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Maps a BswModuleEntity to a RunnableEntity if it is implemented as part of a BSW module (in the case of an AUTOSAR Service, a Complex Driver or an ECU Abstraction). The mapping can be used by a tool to find relevant information on the behavior, e.g. whether the bswEntity shall be running in interrupt context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswRunnableMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-ENTITY-REF">
            <xsd:annotation>
               <xsd:documentation>The mapped BswModuleEntity</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswRunnableMapping.bswEntity";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-RUNNABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The mapped SWC runnable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswRunnableMapping.swcRunnable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RUNNABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswRunnableMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcBswMapping::SwcBswRunnableMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-BSW-RUNNABLE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Maps a BswModuleEntity to a RunnableEntity if it is implemented as part of a BSW module (in the case of an AUTOSAR Service, a Complex Driver or an ECU Abstraction). The mapping can be used by a tool to find relevant information on the behavior, e.g. whether the bswEntity shall be running in interrupt context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswRunnableMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-BSW-RUNNABLE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SwcBswMapping::SwcBswSynchronizedModeGroupPrototype -->
   <xsd:group name="SWC-BSW-SYNCHRONIZED-MODE-GROUP-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Synchronizes a mode group provided by a component via a port with a mode group provided by a BSW module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedModeGroupPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODE-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>The BSW mode group prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedModeGroupPrototype.bswModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-MODE-GROUP-IREF" type="AR:P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The SWC mode group prototype provided by a particular port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedModeGroupPrototype.swcModeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedModeGroupPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcBswMapping::SwcBswSynchronizedModeGroupPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-BSW-SYNCHRONIZED-MODE-GROUP-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>Synchronizes a mode group provided by a component via a port with a mode group provided by a BSW module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedModeGroupPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-BSW-SYNCHRONIZED-MODE-GROUP-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SwcBswMapping::SwcBswSynchronizedTrigger -->
   <xsd:group name="SWC-BSW-SYNCHRONIZED-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>Synchronizes a Trigger provided by a component via a port with a Trigger provided by a BSW module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>The BSW Trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedTrigger.bswTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-TRIGGER-IREF" type="AR:P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The SWC Trigger provided by a particular port.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedTrigger.swcTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedTrigger.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcBswMapping::SwcBswSynchronizedTrigger -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-BSW-SYNCHRONIZED-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>Synchronizes a Trigger provided by a component via a port with a Trigger provided by a BSW module or cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcBswSynchronizedTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-BSW-SYNCHRONIZED-TRIGGER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SwcInternalBehavior::SwcExclusiveAreaPolicy -->
   <xsd:group name="SWC-EXCLUSIVE-AREA-POLICY">
      <xsd:annotation>
         <xsd:documentation>Options how to generate the ExclusiveArea related APIs. If no SwcExclusiveAreaPolicy is specified for an ExclusiveArea the default values apply.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcExclusiveAreaPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="API-PRINCIPLE" type="AR:API-PRINCIPLE-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies for this ExclusiveArea if either one common set of Enter and Exit APIs for the whole software component is requested from the Rte or if the set of Enter and Exit APIs is expected per RunnableEntity.
The default value is "common".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcExclusiveAreaPolicy.apiPrinciple";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-REF">
            <xsd:annotation>
               <xsd:documentation>This reference represents the ExclusiveArea for which the policy applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcExclusiveAreaPolicy.exclusiveArea";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcExclusiveAreaPolicy.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcInternalBehavior::SwcExclusiveAreaPolicy -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-EXCLUSIVE-AREA-POLICY">
      <xsd:annotation>
         <xsd:documentation>Options how to generate the ExclusiveArea related APIs. If no SwcExclusiveAreaPolicy is specified for an ExclusiveArea the default values apply.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcExclusiveAreaPolicy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-EXCLUSIVE-AREA-POLICY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SwcImplementation::SwcImplementation -->
   <xsd:group name="SWC-IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a specialization of the general Implementation meta-class with respect to the usage in application software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwcImplementations";mmt.qualifiedName="SwcImplementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BEHAVIOR-REF">
            <xsd:annotation>
               <xsd:documentation>The internal behavior implemented by this Implementation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcImplementation.behavior";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-INTERNAL-BEHAVIOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PER-INSTANCE-MEMORY-SIZES">
            <xsd:annotation>
               <xsd:documentation>Allows a definition of the size of the per-instance memory for this implementation.
The aggregation of PerInstanceMemorySize  is subject to variability with the purpose to support variability in the software components implementations. Typically different algorithms in the implementation are requiring different number of memory objects, in this case PerInstanceMemory.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcImplementation.perInstanceMemorySize";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PER-INSTANCE-MEMORY-SIZE" type="AR:PER-INSTANCE-MEMORY-SIZE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REQUIRED-RTE-VENDOR" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Identify a specific RTE vendor. This information is potentially important at the time of integrating (in particular: linking) the application code with the RTE. The semantics is that (if the association exists) the corresponding code has been created to fit to the vendor-mode RTE provided by this specific vendor. Attempting to integrate the code with another RTE generated in vendor mode is in general not possible.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcImplementation.requiredRTEVendor";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcImplementation::SwcImplementation -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-IMPLEMENTATION">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a specialization of the general Implementation meta-class with respect to the usage in application software.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SwcImplementations";mmt.qualifiedName="SwcImplementation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:IMPLEMENTATION"/>
         <xsd:group ref="AR:SWC-IMPLEMENTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SWC-IMPLEMENTATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SWC-IMPLEMENTATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SwcInternalBehavior::SwcInternalBehavior -->
   <xsd:group name="SWC-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>The SwcInternalBehavior of an AtomicSwComponentType describes the relevant aspects of the software-component with respect to the RTE, i.e. the RunnableEntities and the RTEEvents they respond to.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="AR-TYPED-PER-INSTANCE-MEMORYS">
            <xsd:annotation>
               <xsd:documentation>Defines an AUTOSAR typed memory-block that needs to be available for each instance of the SW-component. 

This is typically only useful if supportsMultipleInstantiation is set to "true" or if the component defines NVRAM access via permanent blocks.

The aggregation of arTypedPerInstanceMemory is subject to variability with the purpose to support variability in the software component's implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.arTypedPerInstanceMemory";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENTS">
            <xsd:annotation>
               <xsd:documentation>This is a RTEEvent specified for the particular SwcInternalBehavior.

The aggregation of RTEEvent is subject to variability with the purpose to support the conditional existence of RTE events. Note: the number of RTE events might vary due to the conditional existence of PortPrototypes using DataReceivedEvents or due to different scheduling needs of algorithms.

The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.event";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT" type="AR:ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT"/>
                  <xsd:element name="BACKGROUND-EVENT" type="AR:BACKGROUND-EVENT"/>
                  <xsd:element name="DATA-RECEIVE-ERROR-EVENT" type="AR:DATA-RECEIVE-ERROR-EVENT"/>
                  <xsd:element name="DATA-RECEIVED-EVENT" type="AR:DATA-RECEIVED-EVENT"/>
                  <xsd:element name="DATA-SEND-COMPLETED-EVENT" type="AR:DATA-SEND-COMPLETED-EVENT"/>
                  <xsd:element name="DATA-WRITE-COMPLETED-EVENT" type="AR:DATA-WRITE-COMPLETED-EVENT"/>
                  <xsd:element name="EXTERNAL-TRIGGER-OCCURRED-EVENT" type="AR:EXTERNAL-TRIGGER-OCCURRED-EVENT"/>
                  <xsd:element name="INIT-EVENT" type="AR:INIT-EVENT"/>
                  <xsd:element name="INTERNAL-TRIGGER-OCCURRED-EVENT" type="AR:INTERNAL-TRIGGER-OCCURRED-EVENT"/>
                  <xsd:element name="MODE-SWITCHED-ACK-EVENT" type="AR:MODE-SWITCHED-ACK-EVENT"/>
                  <xsd:element name="OPERATION-INVOKED-EVENT" type="AR:OPERATION-INVOKED-EVENT"/>
                  <xsd:element name="SWC-MODE-MANAGER-ERROR-EVENT" type="AR:SWC-MODE-MANAGER-ERROR-EVENT"/>
                  <xsd:element name="SWC-MODE-SWITCH-EVENT" type="AR:SWC-MODE-SWITCH-EVENT"/>
                  <xsd:element name="TIMING-EVENT" type="AR:TIMING-EVENT"/>
                  <xsd:element name="TRANSFORMER-HARD-ERROR-EVENT" type="AR:TRANSFORMER-HARD-ERROR-EVENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXCLUSIVE-AREA-POLICYS">
            <xsd:annotation>
               <xsd:documentation>Options how to generate the ExclusiveArea related APIs. When no SwcExclusiveAreaPolicy is specified for an ExclusiveArea the default values apply.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="exclusiveAreaPolicy";mmt.qualifiedName="SwcInternalBehavior.exclusiveAreaPolicy";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-EXCLUSIVE-AREA-POLICY" type="AR:SWC-EXCLUSIVE-AREA-POLICY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXPLICIT-INTER-RUNNABLE-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>Implement state message semantics for establishing communication among runnables of the same component.
The aggregation of explicitInterRunnableVariable is subject to variability with the purpose to support variability in the software components implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.explicitInterRunnableVariable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HANDLE-TERMINATION-AND-RESTART" type="AR:HANDLE-TERMINATION-AND-RESTART-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute controls the behavior with respect to stopping and restarting. The corresponding AtomicSwComponentType may either not support stop and restart, or support only stop, or support both stop and restart.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcInternalBehavior.handleTerminationAndRestart";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLICIT-INTER-RUNNABLE-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>Implement state message semantics for establishing communication among runnables of the same component.
The aggregation of implicitInterRunnableVariable is subject to variability with the purpose to support variability in the software components implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.implicitInterRunnableVariable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIABLE-DATA-PROTOTYPE" type="AR:VARIABLE-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INCLUDED-DATA-TYPE-SETS">
            <xsd:annotation>
               <xsd:documentation>The includedDataTypeSet is used by a software component for its implementation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="includedDataTypeSet";mmt.qualifiedName="SwcInternalBehavior.includedDataTypeSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INCLUDED-DATA-TYPE-SET" type="AR:INCLUDED-DATA-TYPE-SET"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INCLUDED-MODE-DECLARATION-GROUP-SETS">
            <xsd:annotation>
               <xsd:documentation>This aggregation represents the included ModeDeclarationGroups</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="includedModeDeclarationGroupSet";mmt.qualifiedName="SwcInternalBehavior.includedModeDeclarationGroupSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INCLUDED-MODE-DECLARATION-GROUP-SET" type="AR:INCLUDED-MODE-DECLARATION-GROUP-SET"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INSTANTIATION-DATA-DEF-PROPSS">
            <xsd:annotation>
               <xsd:documentation>The purpose of this is that within the context  of a given SwComponentType some data def properties of individual instantiations can be  modified. 
The aggregation of InstantiationDataDefProps is subject to variability with the purpose to support the conditional existence of PortPrototypes and component local memories like "perInstanceParameter" or "arTypedPerInstanceMemory".


The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="instantiationDataDefProps, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.instantiationDataDefProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="INSTANTIATION-DATA-DEF-PROPS" type="AR:INSTANTIATION-DATA-DEF-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PER-INSTANCE-MEMORYS">
            <xsd:annotation>
               <xsd:documentation>Defines a per-instance memory object needed by this software component.
The aggregation of PerInstanceMemory is subject to variability with the purpose to support variability in the software components implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.perInstanceMemory";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PER-INSTANCE-MEMORY" type="AR:PER-INSTANCE-MEMORY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PER-INSTANCE-PARAMETERS">
            <xsd:annotation>
               <xsd:documentation>Defines parameter(s) or characteristic value(s) that needs to be available for each instance of the software-component. This is typically only useful if supportsMultipleInstantiation is set to "true".
The aggregation of perInstanceParameter is subject to variability with the purpose to support variability in the software components implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.perInstanceParameter";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-DATA-PROTOTYPE" type="AR:PARAMETER-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-API-OPTIONS">
            <xsd:annotation>
               <xsd:documentation>Options for generating the signature of port-related calls from a runnable to the RTE and vice versa.
The aggregation of PortPrototypes is subject to variability with the purpose to support the conditional existence of ports. 
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="portAPIOption, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.portAPIOption";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PORT-API-OPTION" type="AR:PORT-API-OPTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNNABLES">
            <xsd:annotation>
               <xsd:documentation>This is a RunnableEntity specified for the particular SwcInternalBehavior.

The aggregation of RunnableEntity is subject to variability with the purpose to support the conditional existence of RunnableEntities. Note: the number of RunnableEntities might vary due to the conditional existence of PortPrototypes using DataReceivedEvents or due to different scheduling needs of algorithms.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.runnable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="RUNNABLE-ENTITY" type="AR:RUNNABLE-ENTITY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-DEPENDENCYS">
            <xsd:annotation>
               <xsd:documentation>Defines the requirements on AUTOSAR Services for a particular item.

The aggregation of SwcServiceDependency is subject to variability with the purpose to support the conditional existence of ports as well as the conditional existence of ServiceNeeds.

The SwcServiceDependency owned by an SwcInternalBehavior can be located in a different physical file in order to support that SwcServiceDependency might be provided in later development 
steps or even by different expert domain (e.g OBD expert for Obd related  Service Needs) tools. Therefore the aggregation is &lt;&lt;atpSplitable&gt;&gt;.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.serviceDependency";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-SERVICE-DEPENDENCY" type="AR:SWC-SERVICE-DEPENDENCY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHARED-PARAMETERS">
            <xsd:annotation>
               <xsd:documentation>Defines parameter(s) or characteristic value(s) shared between SwComponentPrototypes of the same SwComponentType
The aggregation of sharedParameter is subject to variability with the purpose to support variability in the software components implementations. Typically different algorithms in the implementation are requiring different number of memory objects.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SwcInternalBehavior.sharedParameter";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PARAMETER-DATA-PROTOTYPE" type="AR:PARAMETER-DATA-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SUPPORTS-MULTIPLE-INSTANTIATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicate whether the corresponding software-component can be multiply instantiated on one ECU. In this case the attribute will result in an appropriate component API on programming language level (with or without instance handle).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcInternalBehavior.supportsMultipleInstantiation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT-PROXYS">
            <xsd:annotation>
               <xsd:documentation>Proxy of a variation points in the C/C++ implementation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName";mmt.qualifiedName="SwcInternalBehavior.variationPointProxy";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VARIATION-POINT-PROXY" type="AR:VARIATION-POINT-PROXY"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcInternalBehavior.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SwcInternalBehavior::SwcInternalBehavior -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>The SwcInternalBehavior of an AtomicSwComponentType describes the relevant aspects of the software-component with respect to the RTE, i.e. the RunnableEntities and the RTEEvents they respond to.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:INTERNAL-BEHAVIOR"/>
         <xsd:group ref="AR:SWC-INTERNAL-BEHAVIOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SWC-INTERNAL-BEHAVIOR--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SWC-INTERNAL-BEHAVIOR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RTEEvents::SwcModeManagerErrorEvent -->
   <xsd:group name="SWC-MODE-MANAGER-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to react on errors occurring during mode handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeManagerErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-GROUP-IREF" type="AR:P-MODE-GROUP-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ModeDeclarationGroupPrototype for which the error behavior of the mode manager applies.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeManagerErrorEvent.modeGroup";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::SwcModeManagerErrorEvent -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-MODE-MANAGER-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to react on errors occurring during mode handling.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeManagerErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:SWC-MODE-MANAGER-ERROR-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::SwcModeSwitchEvent -->
   <xsd:group name="SWC-MODE-SWITCH-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised upon a received mode change.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeSwitchEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACTIVATION" type="AR:MODE-ACTIVATION-KIND">
            <xsd:annotation>
               <xsd:documentation>Specifies if the event is activated on entering or exiting the referenced Mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeSwitchEvent.activation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to one or two Modes that initiate the SwcModeSwitchEvent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeSwitchEvent.mode";pureMM.maxOccurs="2";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="MODE-IREF" type="AR:R-MODE-IN-ATOMIC-SWC-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::SwcModeSwitchEvent -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-MODE-SWITCH-EVENT">
      <xsd:annotation>
         <xsd:documentation>This event is raised upon a received mode change.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcModeSwitchEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:SWC-MODE-SWITCH-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SWC-MODE-SWITCH-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SWC-MODE-SWITCH-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceMapping::SwcServiceDependency -->
   <xsd:group name="SWC-SERVICE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>Specialization of ServiceDependency in the context of an SwcInternalBehavior. It allows to associate ports, port groups and (in special cases) data defined for an atomic software component  to a given ServiceNeeds element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-DATAS">
            <xsd:annotation>
               <xsd:documentation>Defines the role of an associated data object of the same component.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependency.assignedData";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-DATA-ASSIGNMENT" type="AR:ROLE-BASED-DATA-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ASSIGNED-PORTS">
            <xsd:annotation>
               <xsd:documentation>Defines the role of an associated port of the same component.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="assignedPort, variationPoint.shortLabel";mmt.qualifiedName="SwcServiceDependency.assignedPort";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROLE-BASED-PORT-ASSIGNMENT" type="AR:ROLE-BASED-PORT-ASSIGNMENT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REPRESENTED-PORT-GROUP-REF">
            <xsd:annotation>
               <xsd:documentation>This reference specifies an association between the ServiceNeeeds and a PortGroup, for example to request a communication mode which applies for communication via these ports. The referred PortGroup shall be local to this atomic SWC, but via the links between the PortGroups, a tool can evaluate this information such that all the ports linked via this port group on the same ECU can be found.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependency.representedPortGroup";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-GROUP--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SERVICE-NEEDS">
            <xsd:annotation>
               <xsd:documentation>The associated ServiceNeeds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependency.serviceNeeds";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="BSW-MGR-NEEDS" type="AR:BSW-MGR-NEEDS"/>
                  <xsd:element name="COM-MGR-USER-NEEDS" type="AR:COM-MGR-USER-NEEDS"/>
                  <xsd:element name="CRYPTO-SERVICE-NEEDS" type="AR:CRYPTO-SERVICE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS" type="AR:DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-COMPONENT-NEEDS" type="AR:DIAGNOSTIC-COMPONENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-CONTROL-NEEDS" type="AR:DIAGNOSTIC-CONTROL-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-ENABLE-CONDITION-NEEDS" type="AR:DIAGNOSTIC-ENABLE-CONDITION-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-INFO-NEEDS" type="AR:DIAGNOSTIC-EVENT-INFO-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-MANAGER-NEEDS" type="AR:DIAGNOSTIC-EVENT-MANAGER-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-EVENT-NEEDS" type="AR:DIAGNOSTIC-EVENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-IO-CONTROL-NEEDS" type="AR:DIAGNOSTIC-IO-CONTROL-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-OPERATION-CYCLE-NEEDS" type="AR:DIAGNOSTIC-OPERATION-CYCLE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS" type="AR:DIAGNOSTIC-RESPONSE-ON-EVENT-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-ROUTINE-NEEDS" type="AR:DIAGNOSTIC-ROUTINE-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-STORAGE-CONDITION-NEEDS" type="AR:DIAGNOSTIC-STORAGE-CONDITION-NEEDS"/>
                  <xsd:element name="DIAGNOSTIC-VALUE-NEEDS" type="AR:DIAGNOSTIC-VALUE-NEEDS"/>
                  <xsd:element name="DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS" type="AR:DIAGNOSTICS-COMMUNICATION-SECURITY-NEEDS"/>
                  <xsd:element name="DLT-USER-NEEDS" type="AR:DLT-USER-NEEDS"/>
                  <xsd:element name="DO-IP-ACTIVATION-LINE-NEEDS" type="AR:DO-IP-ACTIVATION-LINE-NEEDS"/>
                  <xsd:element name="DO-IP-GID-NEEDS" type="AR:DO-IP-GID-NEEDS"/>
                  <xsd:element name="DO-IP-GID-SYNCHRONIZATION-NEEDS" type="AR:DO-IP-GID-SYNCHRONIZATION-NEEDS"/>
                  <xsd:element name="DO-IP-POWER-MODE-STATUS-NEEDS" type="AR:DO-IP-POWER-MODE-STATUS-NEEDS"/>
                  <xsd:element name="DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS" type="AR:DO-IP-ROUTING-ACTIVATION-AUTHENTICATION-NEEDS"/>
                  <xsd:element name="DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS" type="AR:DO-IP-ROUTING-ACTIVATION-CONFIRMATION-NEEDS"/>
                  <xsd:element name="DTC-STATUS-CHANGE-NOTIFICATION-NEEDS" type="AR:DTC-STATUS-CHANGE-NOTIFICATION-NEEDS"/>
                  <xsd:element name="ECU-STATE-MGR-USER-NEEDS" type="AR:ECU-STATE-MGR-USER-NEEDS"/>
                  <xsd:element name="ERROR-TRACER-NEEDS" type="AR:ERROR-TRACER-NEEDS"/>
                  <xsd:element name="FUNCTION-INHIBITION-NEEDS" type="AR:FUNCTION-INHIBITION-NEEDS"/>
                  <xsd:element name="GLOBAL-SUPERVISION-NEEDS" type="AR:GLOBAL-SUPERVISION-NEEDS"/>
                  <xsd:element name="J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS" type="AR:J-1939-RM-INCOMING-REQUEST-SERVICE-NEEDS"/>
                  <xsd:element name="J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS" type="AR:J-1939-RM-OUTGOING-REQUEST-SERVICE-NEEDS"/>
                  <xsd:element name="NV-BLOCK-NEEDS" type="AR:NV-BLOCK-NEEDS"/>
                  <xsd:element name="OBD-CONTROL-SERVICE-NEEDS" type="AR:OBD-CONTROL-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-INFO-SERVICE-NEEDS" type="AR:OBD-INFO-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-MONITOR-SERVICE-NEEDS" type="AR:OBD-MONITOR-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-PID-SERVICE-NEEDS" type="AR:OBD-PID-SERVICE-NEEDS"/>
                  <xsd:element name="OBD-RATIO-SERVICE-NEEDS" type="AR:OBD-RATIO-SERVICE-NEEDS"/>
                  <xsd:element name="SECURE-ON-BOARD-COMMUNICATION-NEEDS" type="AR:SECURE-ON-BOARD-COMMUNICATION-NEEDS"/>
                  <xsd:element name="SUPERVISED-ENTITY-CHECKPOINT-NEEDS" type="AR:SUPERVISED-ENTITY-CHECKPOINT-NEEDS"/>
                  <xsd:element name="SUPERVISED-ENTITY-NEEDS" type="AR:SUPERVISED-ENTITY-NEEDS"/>
                  <xsd:element name="SYNC-TIME-BASE-MGR-USER-NEEDS" type="AR:SYNC-TIME-BASE-MGR-USER-NEEDS"/>
                  <xsd:element name="V-2-X-FAC-USER-NEEDS" type="AR:V-2-X-FAC-USER-NEEDS"/>
                  <xsd:element name="V-2-X-M-USER-NEEDS" type="AR:V-2-X-M-USER-NEEDS"/>
                  <xsd:element name="VENDOR-SPECIFIC-SERVICE-NEEDS" type="AR:VENDOR-SPECIFIC-SERVICE-NEEDS"/>
                  <xsd:element name="WARNING-INDICATOR-REQUESTED-BIT-NEEDS" type="AR:WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependency.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceMapping::SwcServiceDependency -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-SERVICE-DEPENDENCY">
      <xsd:annotation>
         <xsd:documentation>Specialization of ServiceDependency in the context of an SwcInternalBehavior. It allows to associate ports, port groups and (in special cases) data defined for an atomic software component  to a given ServiceNeeds element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependency"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:SERVICE-DEPENDENCY"/>
         <xsd:group ref="AR:SWC-SERVICE-DEPENDENCY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SWC-SERVICE-DEPENDENCY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefs::SwcServiceDependencyInCompositionInstanceRef -->
   <xsd:group name="SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwcServiceDependencyInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInCompositionInstanceRef.base";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMPOSITION-SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-CONTEXT-REF">
            <xsd:annotation>
               <xsd:documentation>This identifies the rootSoftwareComposition if the instanceRef is modelled in the System context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInCompositionInstanceRef.rootContext";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-SW-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInCompositionInstanceRef.contextSwComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-SWC-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInCompositionInstanceRef.targetSwcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::SwcServiceDependencyInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwcServiceDependencyInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:SWC-SERVICE-DEPENDENCY-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::SwcServiceDependencyInSystemInstanceRef -->
   <xsd:group name="SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInSystemInstanceRef.base";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-ROOT-SW-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInSystemInstanceRef.contextRootSwComposition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-SW-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInSystemInstanceRef.contextSwComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-SWC-SERVICE-DEPENDENCY-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInSystemInstanceRef.targetSwcServiceDependency";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-SERVICE-DEPENDENCY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::SwcServiceDependencyInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcServiceDependencyInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:SWC-SERVICE-DEPENDENCY-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortAPIOptions::SwcSupportedFeature -->
   <xsd:group name="SWC-SUPPORTED-FEATURE">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a abstract base class for features that can be supported by RunnableEntities</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcSupportedFeature"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Timing::SwcTiming -->
   <xsd:group name="SWC-TIMING">
      <xsd:annotation>
         <xsd:documentation>The SwcTiming is used to describe the timing of an atomic software component.

TimingDescriptions aggregated by SwcTiming are restricted to event chains referring to events which are derived from the classes TDEventVfb and TDEventSwcInternalBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="SwcTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BEHAVIOR-REF">
            <xsd:annotation>
               <xsd:documentation>This defines the scope of a SwcTiming. All corresponding timing descriptions and constraints must be defined within this scope.

Note! The reason for the cardinality of 0..1 is to ensure backward compatibility.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcTiming.behavior";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-INTERNAL-BEHAVIOR--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-REF">
            <xsd:annotation>
               <xsd:documentation>Removed. This association between SwcTiming and SwComponentType shall not be used to specify the scope of the SwcTiming. It is mandatory to use the association between SwcTiming and SwcInternalBehavior instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwcTiming.component";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::SwcTiming -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TIMING">
      <xsd:annotation>
         <xsd:documentation>The SwcTiming is used to describe the timing of an atomic software component.

TimingDescriptions aggregated by SwcTiming are restricted to event chains referring to events which are derived from the classes TDEventVfb and TDEventSwcInternalBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="SwcTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TIMING-EXTENSION"/>
         <xsd:group ref="AR:SWC-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::SwcToApplicationPartitionMapping -->
   <xsd:group name="SWC-TO-APPLICATION-PARTITION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Allows to map a given SwComponentPrototype to a formally defined partition at a point in time when the corresponding EcuInstance is not yet known or defined.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToApplicationPartitionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-PARTITION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to an ApplicationPartition to which a SwComponentPrototype is mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToApplicationPartitionMapping.applicationPartition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-PARTITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-COMPONENT-PROTOTYPE-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>References to the software component instances that are mapped to the referenced ApplicationPartition. If the component prototype referenced is a composition, this indicates that all atomic software components within the composition are mapped to the ApplicationPartition. 

If there is additionally a mapping of some SwComponentPrototype INSIDE the Composition to another ApplicationPartition the inner mapping overrides the outer mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToApplicationPartitionMapping.swComponentPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToApplicationPartitionMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::SwcToApplicationPartitionMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TO-APPLICATION-PARTITION-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Allows to map a given SwComponentPrototype to a formally defined partition at a point in time when the corresponding EcuInstance is not yet known or defined.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToApplicationPartitionMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SWC-TO-APPLICATION-PARTITION-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::SwcToEcuMapping -->
   <xsd:group name="SWC-TO-ECU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Map software components to a specific ECU Instance and optionally to a processing unit and to an EcuPartition. For each combination of ECUInstance and the optional ProcessingUnit and the optional EcuPartition and the optional SensorActuator only one SwcToEcuMapping shall be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREFS">
            <xsd:annotation>
               <xsd:documentation>References to the software component instances that are mapped to the referenced ECUInstance. If the component prototype referenced is a composition, this indicates that all atomic software components within the composition are mapped to the ECU. 

If there is aditionally a mapping of some SwComponentPrototype INSIDE the Composition to another ECU Instance the inner mapping overrides the outer mapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping.component";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPONENT-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTROLLED-HW-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>Optional mapping of SwComponentPrototypes that are typed by SensorActuatorSwComponentType to a HwElement with category SensorActuator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping.controlledHwElement";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a specific ECU Instance description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PARTITION-REF">
            <xsd:annotation>
               <xsd:documentation>This reference has the status "removed" and is replaced by the SwcToApplicationPartitionMapping and ApplicationPartitionToEcuPartitionMapping.

Old description:
An optional mapping of SWCs to Partitions. 
With this mapping an OEM has the option to predefine an allocation in the System Design phase. The final and complete assignment is described in the OS Configuration.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SwcToEcuMapping.partition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-PARTITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROCESSING-UNIT-REF">
            <xsd:annotation>
               <xsd:documentation>Optional mapping of software components to individual microcontroller cores residing in one ECU. A microcontroller core is described in the ECU Resource Template by the HwElement of HwCategory ProcessingUnit.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping.processingUnit";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:HW-ELEMENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::SwcToEcuMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TO-ECU-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Map software components to a specific ECU Instance and optionally to a processing unit and to an EcuPartition. For each combination of ECUInstance and the optional ProcessingUnit and the optional EcuPartition and the optional SensorActuator only one SwcToEcuMapping shall be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SWC-TO-ECU-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SWC-TO-ECU-MAPPING--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SWC-TO-ECU-MAPPING"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SWmapping::SwcToEcuMappingConstraint -->
   <xsd:group name="SWC-TO-ECU-MAPPING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>The System Constraint Description has to describe dedicated and exclusive mapping of SW-Cs to one or more ECUs. Dedicated mapping means that the SW-C can only be mapped to the ECUs it is dedicated to. Exclusive Mapping means that the SW-C cannot be mapped to the ECUs it is excluded from.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SwcToEcuMappingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to SwComponentPrototypes for which the dedicated or exclusive mapping is defined.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMappingConstraint.component";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REFS">
            <xsd:annotation>
               <xsd:documentation>If the dedicated mapping is described, the SwComponentPrototypes can only be mapped to these referenced ECUInstances. 

If the exclusive mapping is described, the SwComponentPrototypes cannot be mapped to these referenced ECUInstances.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMappingConstraint.ecuInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECU-INSTANCE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-TO-ECU-MAPPING-CONSTRAINT-TYPE" type="AR:SWC-TO-ECU-MAPPING-CONSTRAINT-TYPE">
            <xsd:annotation>
               <xsd:documentation>This attribute determines if dedicated or exclusive mapping is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToEcuMappingConstraint.swcToEcuMappingConstraintType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::SwcToEcuMappingConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TO-ECU-MAPPING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>The System Constraint Description has to describe dedicated and exclusive mapping of SW-Cs to one or more ECUs. Dedicated mapping means that the SW-C can only be mapped to the ECUs it is dedicated to. Exclusive Mapping means that the SW-C cannot be mapped to the ECUs it is excluded from.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SwcToEcuMappingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:MAPPING-CONSTRAINT"/>
         <xsd:group ref="AR:SWC-TO-ECU-MAPPING-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SWmapping::SwcToImplMapping -->
   <xsd:group name="SWC-TO-IMPL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Map instances of an AtomicSwComponentType to a specific Implementation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToImplMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IMPLEMENTATION-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a specific Implementation description.

Implementation to be used by the specified SW component instance. This allows to achieve more precise estimates for the resource consumption that results from mapping the instance of an atomic SW component onto an ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToImplMapping.componentImplementation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SWC-IMPLEMENTATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the software component instances that are being mapped to the specified Implementation. The targeted SwComponentPrototype needs be of the AtomicSwComponentType being implemented by the referenced Implementation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToImplMapping.component";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPONENT-IREF" type="AR:COMPONENT-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToImplMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SWmapping::SwcToImplMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TO-IMPL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Map instances of an AtomicSwComponentType to a specific Implementation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToImplMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SWC-TO-IMPL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SignalPaths::SwcToSwcOperationArguments -->
   <xsd:group name="SWC-TO-SWC-OPERATION-ARGUMENTS">
      <xsd:annotation>
         <xsd:documentation>The SwcToSwcOperationArguments describes the information (client server operation arguments, plus the operation identification, if required) that are exchanged between two SW Components from exactly one client to one server, or from one server back to one client. The direction attribute defines which direction is described. If direction == IN, all arguments sent from the client to the server are described by the SwcToSwcOperationArguments, in direction == OUT, it's the arguments sent back from server to client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcOperationArguments"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DIRECTION" type="AR:SWC-TO-SWC-OPERATION-ARGUMENTS-DIRECTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Direction addressed by this SwcToSwcClientServerOperation element.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcOperationArguments.direction";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to the operation at the client and at the server side whose arguments are described by SwcToSwcOperationArguments. The two ports referenced must be connected by a connector in the software component description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcOperationArguments.operation";pureMM.maxOccurs="2";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="OPERATION-IREF" type="AR:OPERATION-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SignalPaths::SwcToSwcOperationArguments -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TO-SWC-OPERATION-ARGUMENTS">
      <xsd:annotation>
         <xsd:documentation>The SwcToSwcOperationArguments describes the information (client server operation arguments, plus the operation identification, if required) that are exchanged between two SW Components from exactly one client to one server, or from one server back to one client. The direction attribute defines which direction is described. If direction == IN, all arguments sent from the client to the server are described by the SwcToSwcOperationArguments, in direction == OUT, it's the arguments sent back from server to client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcOperationArguments"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-TO-SWC-OPERATION-ARGUMENTS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class SignalPaths::SwcToSwcSignal -->
   <xsd:group name="SWC-TO-SWC-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>The SwcToSwcSignal describes the information (data element) that is exchanged between two SW Components. On the SWC Level it is possible that a SW Component sends one data element from one P-Port to two different SW Components (1:n Communication). The SwcToSwcSignal describes exactly the information which is exchanged between one P-Port of a SW Component and one R-Port of another SW Component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcSignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-IREFS">
            <xsd:annotation>
               <xsd:documentation>Reference to a data element on the PPortPrototype and to the same data element on the RPortPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcSignal.dataElement";pureMM.maxOccurs="2";pureMM.minOccurs="2"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="2" minOccurs="0">
                  <xsd:element name="DATA-ELEMENT-IREF" type="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SignalPaths::SwcToSwcSignal -->
   <xsd:complexType abstract="false" mixed="false" name="SWC-TO-SWC-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>The SwcToSwcSignal describes the information (data element) that is exchanged between two SW Components. On the SWC Level it is possible that a SW Component sends one data element from one P-Port to two different SW Components (1:n Communication). The SwcToSwcSignal describes exactly the information which is exchanged between one P-Port of a SW Component and one R-Port of another SW Component.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcSignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SWC-TO-SWC-SIGNAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Components::SymbolProps -->
   <xsd:group name="SYMBOL-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to attach with the symbol attribute a symbolic name that is conform to C language requirements to another meta-class, e.g. AtomicSwComponentType, that is a potential subject to a name clash on the level of RTE source code.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SymbolProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Components::SymbolProps -->
   <xsd:complexType abstract="false" mixed="false" name="SYMBOL-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to attach with the symbol attribute a symbolic name that is conform to C language requirements to another meta-class, e.g. AtomicSwComponentType, that is a potential subject to a name clash on the level of RTE source code.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SymbolProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:IMPLEMENTATION-PROPS"/>
         <xsd:group ref="AR:SYMBOL-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:complexType name="SYMBOL-STRING">
      <xsd:annotation>
         <xsd:documentation>This meta-class has the ability to contain a string plus an additional namePattern. Please note that this meta-class has only been introduced to fix an issue with the backwards compatibility between R4.0.3 and R4.1.1 in the context of McDataInstance</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SymbolString";xml.xsd.customType="SYMBOL-STRING";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SYMBOL-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:SYMBOL-STRING"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- attribute group for class SYMBOL-STRING -->
   <xsd:attributeGroup name="SYMBOL-STRING">
      <xsd:annotation/>
      <xsd:attribute name="NAME-PATTERN" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute represents a pattern which shall be used to define the value of the identifier if the CIdentifier in question is part of a blueprint. 

For more details refer to TPS_StandardizationTemplate.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="SymbolString.namePattern";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="SYMBOL-STRING--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::SymbolicNameProps -->
   <xsd:group name="SYMBOLIC-NAME-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class can be taken to contribute to the creation of symbolic name values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SymbolicNameProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::SymbolicNameProps -->
   <xsd:complexType abstract="false" mixed="false" name="SYMBOLIC-NAME-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class can be taken to contribute to the creation of symbolic name values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SymbolicNameProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:IMPLEMENTATION-PROPS"/>
         <xsd:group ref="AR:SYMBOLIC-NAME-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::SyncTimeBaseMgrUserNeeds -->
   <xsd:group name="SYNC-TIME-BASE-MGR-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the needs on the configuration of the Synchronized Time-base Manager for one time-base. This class currently contains no attributes. An instance of this class is used to find out which ports of a software-component belong to this time-base in order to group the request and response ports of the same time-base. The actual time-base value is stored in the PortDefinedArgumentValue of the respective port specification.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SyncTimeBaseMgrUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::SyncTimeBaseMgrUserNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="SYNC-TIME-BASE-MGR-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>Specifies the needs on the configuration of the Synchronized Time-base Manager for one time-base. This class currently contains no attributes. An instance of this class is used to find out which ports of a software-component belong to this time-base in order to group the request and response ports of the same time-base. The actual time-base value is stored in the PortDefinedArgumentValue of the respective port specification.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SyncTimeBaseMgrUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:SYNC-TIME-BASE-MGR-USER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SynchronizationTimingConstraint::SynchronizationTimingConstraint -->
   <xsd:group name="SYNCHRONIZATION-TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>This constraint is used to restrict the timing behavior of different, but correlated events or event chains, with regard to synchronization.

Thereby, in case of imposing a synchronization timing constraint on events or event chains the following two scenarios are supported:

1) [synchronizationConstraintType=responseSynchronization] Events: An arbitrary number of correlated events which play the role of responses shall occur synchronously with respect to a predefined tolerance. Event Chains: An arbitrary number of correlated event chains with a common stimulus, but different responses, where the responses shall occur synchronously with respect to a predefined tolerance.

2) [synchronizationConstraintType=stimulusSynchronization] Events: An arbitrary number of correlated events which play the role of stimuli shall occur synchronously with respect to a predefined tolerance. Event Chains: An arbitrary number of correlated event chains with a common response, but different stimuli, where the stimuli shall occur synchronously with respect to a predefined tolerance.

In case of imposing a synchronization timing constraint on events the following two scenarios are supported:

1) [eventOccurrenceKind=singleOccurrence] Any of the events shall occur only once in the given time interval.

2) [eventOccurrenceKind=multipleOccurrences] Any of the events may occur more than once in the given time interval. In other words multiple occurrences of an event within the given time interval are permitted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-OCCURRENCE-KIND" type="AR:EVENT-OCCURRENCE-KIND-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific occurrence kind of an event occurring within the given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint.eventOccurrenceKind";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCOPE-EVENT-REFS">
            <xsd:annotation>
               <xsd:documentation>The events that are in the scope of the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint.scopeEvent";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SCOPE-EVENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCOPE-REFS">
            <xsd:annotation>
               <xsd:documentation>The event chains that are in the scope of the constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint.scope";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SCOPE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT-CHAIN--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNCHRONIZATION-CONSTRAINT-TYPE" type="AR:SYNCHRONIZATION-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this synchronization constraint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint.synchronizationConstraintType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TOLERANCE" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>The maximum time interval, within which the synchronized events must occur.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint.tolerance";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SynchronizationTimingConstraint::SynchronizationTimingConstraint -->
   <xsd:complexType abstract="false" mixed="false" name="SYNCHRONIZATION-TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>This constraint is used to restrict the timing behavior of different, but correlated events or event chains, with regard to synchronization.

Thereby, in case of imposing a synchronization timing constraint on events or event chains the following two scenarios are supported:

1) [synchronizationConstraintType=responseSynchronization] Events: An arbitrary number of correlated events which play the role of responses shall occur synchronously with respect to a predefined tolerance. Event Chains: An arbitrary number of correlated event chains with a common stimulus, but different responses, where the responses shall occur synchronously with respect to a predefined tolerance.

2) [synchronizationConstraintType=stimulusSynchronization] Events: An arbitrary number of correlated events which play the role of stimuli shall occur synchronously with respect to a predefined tolerance. Event Chains: An arbitrary number of correlated event chains with a common response, but different stimuli, where the stimuli shall occur synchronously with respect to a predefined tolerance.

In case of imposing a synchronization timing constraint on events the following two scenarios are supported:

1) [eventOccurrenceKind=singleOccurrence] Any of the events shall occur only once in the given time interval.

2) [eventOccurrenceKind=multipleOccurrences] Any of the events may occur more than once in the given time interval. In other words multiple occurrences of an event within the given time interval are permitted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTimingConstraint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TIMING-CONSTRAINT"/>
         <xsd:group ref="AR:SYNCHRONIZATION-TIMING-CONSTRAINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServerCall::SynchronousServerCallPoint -->
   <xsd:group name="SYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>This means that the RunnableEntity is supposed to perform a  blocking wait for a response from the server.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CALLED-FROM-WITHIN-EXCLUSIVE-AREA-REF">
            <xsd:annotation>
               <xsd:documentation>This indicates that the call point is located at the deepest level inside one or more ExclusiveAreas that are nested in the given order.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SynchronousServerCallPoint.calledFromWithinExclusiveArea";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:EXCLUSIVE-AREA-NESTING-ORDER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServerCall::SynchronousServerCallPoint -->
   <xsd:complexType abstract="false" mixed="false" name="SYNCHRONOUS-SERVER-CALL-POINT">
      <xsd:annotation>
         <xsd:documentation>This means that the RunnableEntity is supposed to perform a  blocking wait for a response from the server.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SynchronousServerCallPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:SERVER-CALL-POINT"/>
         <xsd:group ref="AR:SYNCHRONOUS-SERVER-CALL-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class SystemTemplate::System -->
   <xsd:group name="SYSTEM">
      <xsd:annotation>
         <xsd:documentation>The top level element of the System Description.
The System description defines five major elements: Topology, Software, Communication, Mapping and Mapping Constraints.

The System element directly aggregates the elements describing the Software, Mapping and Mapping Constraints; it contains a reference to an ASAM FIBEX description specifying Communication and Topology.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Systems";mmt.qualifiedName="System"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-DOCUMENTATIONS">
            <xsd:annotation>
               <xsd:documentation>Possibility to provide additional documentation while defining the System. The System documentation can be composed of several chapters.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="System.systemDocumentation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime";xml.sequenceOffset="-10"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CHAPTER" type="AR:CHAPTER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CLIENT-ID-DEFINITION-SET-REFS">
            <xsd:annotation>
               <xsd:documentation>Set of Client Identifiers that are used for inter-ECU client-server communication in the System.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.clientIdDefinitionSet";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-ID-DEFINITION-SET-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:CLIENT-ID-DEFINITION-SET--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTAINER-I-PDU-HEADER-BYTE-ORDER" type="AR:BYTE-ORDER-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the byteOrder of the header in ContainerIPdus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.containerIPduHeaderByteOrder";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-EXTRACT-VERSION" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>Version number of the Ecu Extract.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.ecuExtractVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIBEX-ELEMENTS">
            <xsd:annotation>
               <xsd:documentation>This property was modified due to atpVariation (DirectedAssociationPattern).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.fibexElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FIBEX-ELEMENT-REF-CONDITIONAL" type="AR:FIBEX-ELEMENT-REF-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-SHARED-ADDRESS-CLUSTERS">
            <xsd:annotation>
               <xsd:documentation>Collection of J1939Clusters that share a common address space for the routing of messages.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="System.j1939SharedAddressCluster";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="J-1939-SHARED-ADDRESS-CLUSTER" type="AR:J-1939-SHARED-ADDRESS-CLUSTER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="System.mapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SYSTEM-MAPPING" type="AR:SYSTEM-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-VECTOR-LENGTH" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of the partial networking request release information vector (in bytes).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.pncVectorLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-VECTOR-OFFSET" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Absolute offset (with respect to the NM-PDU) of the partial networking request release information vector that is defined in bytes as an index starting with 0.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.pncVectorOffset";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-SOFTWARE-COMPOSITIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="System.rootSoftwareComposition";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ROOT-SW-COMPOSITION-PROTOTYPE" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-VERSION" type="AR:REVISION-LABEL-STRING">
            <xsd:annotation>
               <xsd:documentation>Version number of the System Description.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="System.systemVersion";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemTemplate::System -->
   <xsd:complexType abstract="false" mixed="false" name="SYSTEM">
      <xsd:annotation>
         <xsd:documentation>The top level element of the System Description.
The System description defines five major elements: Topology, Software, Communication, Mapping and Mapping Constraints.

The System element directly aggregates the elements describing the Software, Mapping and Mapping Constraints; it contains a reference to an ASAM FIBEX description specifying Communication and Topology.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Systems";mmt.qualifiedName="System"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:SYSTEM"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SYSTEM--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SYSTEM"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class SystemTemplate::SystemMapping -->
   <xsd:group name="SYSTEM-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The system mapping aggregates all mapping aspects (mapping of SW components to ECUs, mapping of data elements to signals, and mapping constraints).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Mapping of ApplicationPartitions to EcuPartitions
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SystemMapping.applicationPartitionToEcuPartitionMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING" type="AR:APPLICATION-PARTITION-TO-ECU-PARTITION-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The data mappings defined.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.dataMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="CLIENT-SERVER-TO-SIGNAL-GROUP-MAPPING" type="AR:CLIENT-SERVER-TO-SIGNAL-GROUP-MAPPING"/>
                  <xsd:element name="CLIENT-SERVER-TO-SIGNAL-MAPPING" type="AR:CLIENT-SERVER-TO-SIGNAL-MAPPING"/>
                  <xsd:element name="SENDER-RECEIVER-COMPOSITE-ELEMENT-TO-SIGNAL-MAPPING" type="AR:SENDER-RECEIVER-COMPOSITE-ELEMENT-TO-SIGNAL-MAPPING"/>
                  <xsd:element name="SENDER-RECEIVER-TO-SIGNAL-GROUP-MAPPING" type="AR:SENDER-RECEIVER-TO-SIGNAL-GROUP-MAPPING"/>
                  <xsd:element name="SENDER-RECEIVER-TO-SIGNAL-MAPPING" type="AR:SENDER-RECEIVER-TO-SIGNAL-MAPPING"/>
                  <xsd:element name="TRIGGER-TO-SIGNAL-MAPPING" type="AR:TRIGGER-TO-SIGNAL-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-RESOURCE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.ecuResourceMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECU-MAPPING" type="AR:ECU-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="J-1939-CONTROLLER-APPLICATION-TO-J-1939-NM-NODE-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Mapping of a J1939ControllerApplication to a J1939NmNode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.j1939ControllerApplicationToJ1939NmNodeMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="J-1939-CONTROLLER-APPLICATION-TO-J-1939-NM-NODE-MAPPING" type="AR:J-1939-CONTROLLER-APPLICATION-TO-J-1939-NM-NODE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPING-CONSTRAINTS">
            <xsd:annotation>
               <xsd:documentation>Constraints that limit the mapping freedom for the mapping of SW components to ECUs.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.mappingConstraint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMPONENT-CLUSTERING" type="AR:COMPONENT-CLUSTERING"/>
                  <xsd:element name="COMPONENT-SEPARATION" type="AR:COMPONENT-SEPARATION"/>
                  <xsd:element name="SWC-TO-ECU-MAPPING-CONSTRAINT" type="AR:SWC-TO-ECU-MAPPING-CONSTRAINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PNC-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.pncMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="PNC-MAPPING" type="AR:PNC-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESOURCE-ESTIMATIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.resourceEstimation";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ECU-RESOURCE-ESTIMATION" type="AR:ECU-RESOURCE-ESTIMATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SIGNAL-PATH-CONSTRAINTS">
            <xsd:annotation>
               <xsd:documentation>Constraints that limit the mapping freedom for the mapping of data elements to signals.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.signalPathConstraint";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COMMON-SIGNAL-PATH" type="AR:COMMON-SIGNAL-PATH"/>
                  <xsd:element name="FORBIDDEN-SIGNAL-PATH" type="AR:FORBIDDEN-SIGNAL-PATH"/>
                  <xsd:element name="PERMISSIBLE-SIGNAL-PATH" type="AR:PERMISSIBLE-SIGNAL-PATH"/>
                  <xsd:element name="SEPARATE-SIGNAL-PATH" type="AR:SEPARATE-SIGNAL-PATH"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-IMPL-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.swImplMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-IMPL-MAPPING" type="AR:SWC-TO-IMPL-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.swMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-ECU-MAPPING" type="AR:SWC-TO-ECU-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SWC-TO-APPLICATION-PARTITION-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Allows to map a given SwComponentPrototype to a formally defined partition at a point in time when the corresponding EcuInstance is not yet known or defined.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="SystemMapping.swcToApplicationPartitionMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SWC-TO-APPLICATION-PARTITION-MAPPING" type="AR:SWC-TO-APPLICATION-PARTITION-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class SystemTemplate::SystemMapping -->
   <xsd:complexType abstract="false" mixed="false" name="SYSTEM-MAPPING">
      <xsd:annotation>
         <xsd:documentation>The system mapping aggregates all mapping aspects (mapping of SW components to ECUs, mapping of data elements to signals, and mapping constraints).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SystemMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SYSTEM-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::SystemSignal -->
   <xsd:group name="SYSTEM-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>The system signal represents the communication system's view of data exchanged between SW components which reside on different ECUs. The system signals allow to represent this communication in a flattened structure, with exactly one system signal defined for each data element prototype sent and received by connected SW component instances.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SystemSignals";mmt.qualifiedName="SystemSignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMIC-LENGTH" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>The length of dynamic length signals is variable in run-time. Only a maximum length of such a signal is specified in the configuration (attribute length in ISignal element).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemSignal.dynamicLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-PROPS" type="AR:SW-DATA-DEF-PROPS">
            <xsd:annotation>
               <xsd:documentation>Specification of the physical representation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemSignal.physicalProps";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SystemSignal -->
   <xsd:complexType abstract="false" mixed="false" name="SYSTEM-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>The system signal represents the communication system's view of data exchanged between SW components which reside on different ECUs. The system signals allow to represent this communication in a flattened structure, with exactly one system signal defined for each data element prototype sent and received by connected SW component instances.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SystemSignals";mmt.qualifiedName="SystemSignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SYSTEM-SIGNAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SYSTEM-SIGNAL--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SYSTEM-SIGNAL"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class CoreCommunication::SystemSignalGroup -->
   <xsd:group name="SYSTEM-SIGNAL-GROUP">
      <xsd:annotation>
         <xsd:documentation>A signal group refers to a set of signals that must always be kept together. A signal group is used to guarantee the atomic transfer of AUTOSAR composite data types.  

The SystemSignalGroup defines a signal grouping on VFB level. On cluster level the Signal grouping is described by the ISignalGroup element.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SystemSignalGroups";mmt.qualifiedName="SystemSignalGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to a set of SystemSignals that must always be kept together.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemSignalGroup.systemSignal";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SYSTEM-SIGNAL-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMING-SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>Optional reference to the SystemSignal which shall contain the transformed (linear) data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemSignalGroup.transformingSystemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::SystemSignalGroup -->
   <xsd:complexType abstract="false" mixed="false" name="SYSTEM-SIGNAL-GROUP">
      <xsd:annotation>
         <xsd:documentation>A signal group refers to a set of signals that must always be kept together. A signal group is used to guarantee the atomic transfer of AUTOSAR composite data types.  

The SystemSignalGroup defines a signal grouping on VFB level. On cluster level the Signal grouping is described by the ISignalGroup element.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="SystemSignalGroups";mmt.qualifiedName="SystemSignalGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:SYSTEM-SIGNAL-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="SYSTEM-SIGNAL-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SYSTEM-SIGNAL-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Timing::SystemTiming -->
   <xsd:group name="SYSTEM-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to refine timing descriptions and constraints (from a VfbTiming) at System level, utilizing information about topology, software deployment, and signal mapping described in the System Template.

TimingDescriptions aggregated by SystemTiming are restricted to events which are derived from the class TDEventVfb, TDEventSwcInternalBehavior and TDEventCom.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="SystemTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-REF">
            <xsd:annotation>
               <xsd:documentation>This defines the scope of a SystemTiming. All corresponding timing descriptions and constraints must be defined within this scope.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="SystemTiming.system";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::SystemTiming -->
   <xsd:complexType abstract="false" mixed="false" name="SYSTEM-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to refine timing descriptions and constraints (from a VfbTiming) at System level, utilizing information about topology, software deployment, and signal mapping described in the System Template.

TimingDescriptions aggregated by SystemTiming are restricted to events which are derived from the class TDEventVfb, TDEventSwcInternalBehavior and TDEventCom.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="SystemTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TIMING-EXTENSION"/>
         <xsd:group ref="AR:SYSTEM-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventBsw::TDEventBsw -->
   <xsd:group name="TD-EVENT-BSW">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to BSW modules.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBsw"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-DESCRIPTION-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBsw.bswModuleDescription";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-DESCRIPTION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TDEventBswInternalBehavior::TDEventBswInternalBehavior -->
   <xsd:group name="TD-EVENT-BSW-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the BswInternalBehavior of a BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-ENTITY-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswInternalBehavior.bswModuleEntity";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-BSW-INTERNAL-BEHAVIOR-TYPE" type="AR:TD-EVENT-BSW-INTERNAL-BEHAVIOR-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswInternalBehavior.tdEventBswInternalBehaviorType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventBswInternalBehavior::TDEventBswInternalBehavior -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-BSW-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the BswInternalBehavior of a BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-BSW-INTERNAL-BEHAVIOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventBsw::TDEventBswModeDeclaration -->
   <xsd:group name="TD-EVENT-BSW-MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the mode communication on BSW level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENTRY-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>Optional parameter which refines the scope of the TDEventBswModeDeclaration. If the parameter is set, the event occurs only if the mode declaration group prototype instance shall enter into the referenced ModeDeclaration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclaration.entryModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXIT-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>Optional parameter which refines the scope of the TDEventBswModeDeclaration. If the parameter is set, the event occurs only if the mode declaration group prototype instance shall exit from the referenced ModeDeclaration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclaration.exitModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclaration.modeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-BSW-MODE-DECLARATION-TYPE" type="AR:TD-EVENT-BSW-MODE-DECLARATION-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclaration.tdEventBswModeDeclarationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventBsw::TDEventBswModeDeclaration -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-BSW-MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the mode communication on BSW level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-BSW"/>
         <xsd:group ref="AR:TD-EVENT-BSW-MODE-DECLARATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventBsw::TDEventBswModule -->
   <xsd:group name="TD-EVENT-BSW-MODULE">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the interaction between BSW modules.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModule"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BSW-MODULE-ENTRY-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModule.bswModuleEntry";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:BSW-MODULE-ENTRY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-BSW-MODULE-TYPE" type="AR:TD-EVENT-BSW-MODULE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModule.tdEventBswModuleType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventBsw::TDEventBswModule -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-BSW-MODULE">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the interaction between BSW modules.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModule"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-BSW"/>
         <xsd:group ref="AR:TD-EVENT-BSW-MODULE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventCom -->
   <xsd:group name="TD-EVENT-COM">
      <xsd:annotation>
         <xsd:documentation>This is the abstract parent class to describe timing events related to communication including the physical layer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventCom"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ECU-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The ECU context for a particular timing event. The link is optional, because the EcuInstance can not be defined for events of type TDEventCycleStart.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventCom.ecuInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ECU-INSTANCE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TDEventComplex::TDEventComplex -->
   <xsd:group name="TD-EVENT-COMPLEX">
      <xsd:annotation>
         <xsd:documentation>This is used to describe complex timing events.

The context of a complex timing event either is described informally, e.g. using the documentation block, or is described formally by the associated TDEventOccurrenceExpression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventComplex"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class TDEventComplex::TDEventComplex -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-COMPLEX">
      <xsd:annotation>
         <xsd:documentation>This is used to describe complex timing events.

The context of a complex timing event either is described informally, e.g. using the documentation block, or is described formally by the associated TDEventOccurrenceExpression.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventComplex"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COMPLEX"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventCycleStart -->
   <xsd:group name="TD-EVENT-CYCLE-START">
      <xsd:annotation>
         <xsd:documentation>This is the abstract parent class to describe timing events related to a point in time where a communication cycle starts.

Via the attribute "cycleRepetition", a filtered view to the cycle start can be defined.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventCycleStart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLE-REPETITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The start of every &lt;cycleRepetition&gt; cycle is targeted by this event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventCycleStart.cycleRepetition";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TDEventCom::TDEventFrClusterCycleStart -->
   <xsd:group name="TD-EVENT-FR-CLUSTER-CYCLE-START">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the timing event related to a point in time where a communication cycle starts on a FlexRay cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrClusterCycleStart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FR-CLUSTER-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrClusterCycleStart.frCluster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FLEXRAY-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDEventFrClusterCycleStart -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-FR-CLUSTER-CYCLE-START">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the timing event related to a point in time where a communication cycle starts on a FlexRay cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrClusterCycleStart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COM"/>
         <xsd:group ref="AR:TD-EVENT-CYCLE-START"/>
         <xsd:group ref="AR:TD-EVENT-FR-CLUSTER-CYCLE-START"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventFrame -->
   <xsd:group name="TD-EVENT-FRAME">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the exchange of frames between the communication controller and the bus specific (FlexRay / CAN / LIN) Interface BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FRAME-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrame.frame";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:FRAME--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>The PhysicalChannel on which the Frame is transmitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrame.physicalChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-TYPE" type="AR:TD-EVENT-FRAME-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrame.tdEventType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDEventFrame -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-FRAME">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the exchange of frames between the communication controller and the bus specific (FlexRay / CAN / LIN) Interface BSW module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COM"/>
         <xsd:group ref="AR:TD-EVENT-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventFrameEthernet -->
   <xsd:group name="TD-EVENT-FRAME-ETHERNET">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing description events related to the exchange of Ethernet frames between an Ethernet communication controller and the BSW Ethernet interface and driver module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SOCKET-CONNECTION-BUNDLE-REF">
            <xsd:annotation>
               <xsd:documentation>Specifies the SocketConnectionBundle by the means of which the PDUs are transmitted or received within an Ethernet Frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernet.socketConnectionBundle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SOCKET-CONNECTION-BUNDLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-TYPE" type="AR:TD-EVENT-FRAME-ETHERNET-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This is used to describe the specific event type of a TDEventFrameEthernet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernet.tdEventType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-HEADER-ID-FILTERS">
            <xsd:annotation>
               <xsd:documentation>Specifies the header identifier or a range of header identifiers that if contained in the Ethernet frame let the TDEventFrameEthernet occur.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernet.tdHeaderIdFilter";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TD-HEADER-ID-RANGE" type="AR:TD-HEADER-ID-RANGE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-PDU-TRIGGERING-FILTER-REFS">
            <xsd:annotation>
               <xsd:documentation>Specifies the PDU that if contained in the Ethernet frame let the TDEventFrameEthernet occur.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernet.tdPduTriggeringFilter";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TD-PDU-TRIGGERING-FILTER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDEventFrameEthernet -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-FRAME-ETHERNET">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing description events related to the exchange of Ethernet frames between an Ethernet communication controller and the BSW Ethernet interface and driver module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COM"/>
         <xsd:group ref="AR:TD-EVENT-FRAME-ETHERNET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventIPdu -->
   <xsd:group name="TD-EVENT-I-PDU">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the exchange of I-PDUs between the bus specific (FlexRay / CAN / LIN) Interface BSW module and COM.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventIPdu.iPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-PDU--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>The PhysicalChannel on which the IPdu is transmitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventIPdu.physicalChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-TYPE" type="AR:TD-EVENT-I-PDU-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventIPdu.tdEventType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDEventIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-I-PDU">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the exchange of I-PDUs between the bus specific (FlexRay / CAN / LIN) Interface BSW module and COM.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COM"/>
         <xsd:group ref="AR:TD-EVENT-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventISignal -->
   <xsd:group name="TD-EVENT-I-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the exchange of I-Signals between COM and RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventISignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventISignal.iSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-CHANNEL-REF">
            <xsd:annotation>
               <xsd:documentation>The PhysicalChannel on which the ISignal is transmitted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventISignal.physicalChannel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-TYPE" type="AR:TD-EVENT-I-SIGNAL-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventISignal.tdEventType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDEventISignal -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-I-SIGNAL">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the exchange of I-Signals between COM and RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventISignal"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COM"/>
         <xsd:group ref="AR:TD-EVENT-I-SIGNAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ModeDeclaration::TDEventModeDeclaration -->
   <xsd:group name="TD-EVENT-MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to mode switch communication at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ENTRY-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>Optional parameter which refines the scope of the TDEventModeDeclaration. If the parameter is set, the event occurs only if the mode declaration group prototype instance shall enter into the referenced ModeDeclaration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclaration.entryModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXIT-MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>Optional parameter which refines the scope of the TDEventModeDeclaration. If the parameter is set, the event occurs only if the mode declaration group prototype instance shall exit from the referenced ModeDeclaration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclaration.exitModeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced mode declaration group prototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclaration.modeDeclaration";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:MODE-DECLARATION-GROUP-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-MODE-DECLARATION-TYPE" type="AR:TD-EVENT-MODE-DECLARATION-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclaration.tdEventModeDeclarationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ModeDeclaration::TDEventModeDeclaration -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to mode switch communication at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-VFB"/>
         <xsd:group ref="AR:TD-EVENT-VFB-PORT"/>
         <xsd:group ref="AR:TD-EVENT-MODE-DECLARATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventOccurrenceExpression::TDEventOccurrenceExpression -->
   <xsd:group name="TD-EVENT-OCCURRENCE-EXPRESSION">
      <xsd:annotation>
         <xsd:documentation>This is used to specify a filter on the occurrences of TimingDescriptionEvents by means of a TDEventOccurrenceExpressionFormula.
Filter criteria can be variable and argument values, i.e. the timing event only occurs for specific values, as well as the temporal characteristics of the occurrences of arbitrary timing events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpression"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>An occurrence expression can reference an arbitrary number of OperationArgumentPrototypes in its expression. This association aggregates instance references to OperationArgumentPrototypes which can be referenced in the expression.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpression.argument";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-OPERATION-ARGUMENT-INSTANCE" type="AR:AUTOSAR-OPERATION-ARGUMENT-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FORMULA" type="AR:TD-EVENT-OCCURRENCE-EXPRESSION-FORMULA">
            <xsd:annotation>
               <xsd:documentation>This is the expression formula which is used to describe the occurrence expression.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpression.formula";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODES">
            <xsd:annotation>
               <xsd:documentation>An occurrence expression can reference an arbitrary number of TimingModeInstances in its expression. This association aggregates instance references to ModeDeclaration which can be referenced in the expression.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpression.mode";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TIMING-MODE-INSTANCE" type="AR:TIMING-MODE-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLES">
            <xsd:annotation>
               <xsd:documentation>An occurrence expression can reference an arbitrary number of VariableDataPrototpyes in its expression. This association aggregates instance references to VariableDataPrototypes which can be referenced in the expression.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpression.variable";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-VARIABLE-INSTANCE" type="AR:AUTOSAR-VARIABLE-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventOccurrenceExpression::TDEventOccurrenceExpression -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-OCCURRENCE-EXPRESSION">
      <xsd:annotation>
         <xsd:documentation>This is used to specify a filter on the occurrences of TimingDescriptionEvents by means of a TDEventOccurrenceExpressionFormula.
Filter criteria can be variable and argument values, i.e. the timing event only occurs for specific values, as well as the temporal characteristics of the occurrences of arbitrary timing events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpression"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TD-EVENT-OCCURRENCE-EXPRESSION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TDEventOccurrenceExpression::TDEventOccurrenceExpressionFormula -->
   <xsd:group name="TD-EVENT-OCCURRENCE-EXPRESSION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This is an extension of the FormulaExpression for the AUTOSAR Timing Extensions.

A TDEventOccurrenceExpressionFormula provides the means to express the temporal characteristics of timing event occurrences in correlation with specific variable and argument values.

The formal definition of the extended functions (ExtUnaryFunctions) is described in detail in the AUTOSAR Timing Extensions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpressionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="ARGUMENT-REF">
               <xsd:annotation>
                  <xsd:documentation>This is one particular argument value used in the expression formula.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpressionFormula.argument";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:AUTOSAR-OPERATION-ARGUMENT-INSTANCE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="EVENT-REF">
               <xsd:annotation>
                  <xsd:documentation>This is one particular timing description event used in the expression formula.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpressionFormula.event";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="MODE-REF">
               <xsd:annotation>
                  <xsd:documentation>This is one particular mode used in the expression formula.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpressionFormula.mode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TIMING-MODE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="VARIABLE-REF">
               <xsd:annotation>
                  <xsd:documentation>This is one particular variable value used in the expression formula.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpressionFormula.variable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:AUTOSAR-VARIABLE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class TDEventOccurrenceExpression::TDEventOccurrenceExpressionFormula -->
   <xsd:complexType abstract="false" mixed="true" name="TD-EVENT-OCCURRENCE-EXPRESSION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>This is an extension of the FormulaExpression for the AUTOSAR Timing Extensions.

A TDEventOccurrenceExpressionFormula provides the means to express the temporal characteristics of timing event occurrences in correlation with specific variable and argument values.

The formal definition of the extended functions (ExtUnaryFunctions) is described in detail in the AUTOSAR Timing Extensions.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOccurrenceExpressionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:TD-EVENT-OCCURRENCE-EXPRESSION-FORMULA"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Operation::TDEventOperation -->
   <xsd:group name="TD-EVENT-OPERATION">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to client-server communication at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOperation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced operation.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOperation.operation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:CLIENT-SERVER-OPERATION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-OPERATION-TYPE" type="AR:TD-EVENT-OPERATION-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOperation.tdEventOperationType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Operation::TDEventOperation -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-OPERATION">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to client-server communication at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOperation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-VFB"/>
         <xsd:group ref="AR:TD-EVENT-VFB-PORT"/>
         <xsd:group ref="AR:TD-EVENT-OPERATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventSwcInternalBehavior::TDEventSwc -->
   <xsd:group name="TD-EVENT-SWC">
      <xsd:annotation>
         <xsd:documentation>This is the abstract parent class to describe timing events at Software Component (SW-C) level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwc"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREF" type="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The context for the scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwc.component";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="TD-EVENT-SWC--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TD-EVENT-SWC"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TDEventSwcInternalBehavior::TDEventSwcInternalBehavior -->
   <xsd:group name="TD-EVENT-SWC-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the SwcInternalBehavior of an AtomicSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="RUNNABLE-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehavior.runnable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RUNNABLE-ENTITY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-SWC-INTERNAL-BEHAVIOR-TYPE" type="AR:TD-EVENT-SWC-INTERNAL-BEHAVIOR-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehavior.tdEventSwcInternalBehaviorType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIABLE-ACCESS-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehavior.variableAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-ACCESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventSwcInternalBehavior::TDEventSwcInternalBehavior -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-SWC-INTERNAL-BEHAVIOR">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to the SwcInternalBehavior of an AtomicSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehavior"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-SWC"/>
         <xsd:group ref="AR:TD-EVENT-SWC-INTERNAL-BEHAVIOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventSwcInternalBehavior::TDEventSwcInternalBehaviorReference -->
   <xsd:group name="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This is used to reference timing description events related to the Software Component (SW-C) view which are specified in other timing views.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehaviorReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCED-TD-EVENT-SWC-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced timing description event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehaviorReference.referencedTDEventSwc";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TD-EVENT-SWC--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventSwcInternalBehavior::TDEventSwcInternalBehaviorReference -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This is used to reference timing description events related to the Software Component (SW-C) view which are specified in other timing views.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehaviorReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-SWC"/>
         <xsd:group ref="AR:TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDEventTTCanCycleStart -->
   <xsd:group name="TD-EVENT-TT-CAN-CYCLE-START">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the timing event related to a point in time where a communication cycle starts on a TTCAN cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTTCanCycleStart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TT-CAN-CLUSTER-REF">
            <xsd:annotation>
               <xsd:documentation>The scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTTCanCycleStart.ttCanCluster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TTCAN-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDEventTTCanCycleStart -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-TT-CAN-CYCLE-START">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the timing event related to a point in time where a communication cycle starts on a TTCAN cluster.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTTCanCycleStart"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-COM"/>
         <xsd:group ref="AR:TD-EVENT-CYCLE-START"/>
         <xsd:group ref="AR:TD-EVENT-TT-CAN-CYCLE-START"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Trigger::TDEventTrigger -->
   <xsd:group name="TD-EVENT-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to triggers at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-TRIGGER-TYPE" type="AR:TD-EVENT-TRIGGER-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTrigger.tdEventTriggerType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>The trigger which is provided (released) or required (activate) in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTrigger.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Trigger::TDEventTrigger -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-TRIGGER">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to triggers at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTrigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-VFB"/>
         <xsd:group ref="AR:TD-EVENT-VFB-PORT"/>
         <xsd:group ref="AR:TD-EVENT-TRIGGER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class VariableDataPrototype::TDEventVariableDataPrototype -->
   <xsd:group name="TD-EVENT-VARIABLE-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to sender-receiver communication at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVariableDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-ELEMENT-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced VariableDataPrototype</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVariableDataPrototype.dataElement";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TD-EVENT-VARIABLE-DATA-PROTOTYPE-TYPE" type="AR:TD-EVENT-VARIABLE-DATA-PROTOTYPE-TYPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>The specific type of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVariableDataPrototype.tdEventVariableDataPrototypeType";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariableDataPrototype::TDEventVariableDataPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-VARIABLE-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>This is used to describe timing events related to sender-receiver communication at VFB level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVariableDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-VFB"/>
         <xsd:group ref="AR:TD-EVENT-VFB-PORT"/>
         <xsd:group ref="AR:TD-EVENT-VARIABLE-DATA-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventVfb::TDEventVfb -->
   <xsd:group name="TD-EVENT-VFB">
      <xsd:annotation>
         <xsd:documentation>This is the abstract parent class to describe timing events at Virtual Function Bus (VFB) level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfb"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-IREF" type="AR:COMPONENT-IN-COMPOSITION-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>The context for the scope of this timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfb.component";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="TD-EVENT-VFB--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TD-EVENT-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-OPERATION"/>
         <xsd:enumeration value="TD-EVENT-TRIGGER"/>
         <xsd:enumeration value="TD-EVENT-VARIABLE-DATA-PROTOTYPE"/>
         <xsd:enumeration value="TD-EVENT-VFB"/>
         <xsd:enumeration value="TD-EVENT-VFB-PORT"/>
         <xsd:enumeration value="TD-EVENT-VFB-REFERENCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TDEventVfb::TDEventVfbPort -->
   <xsd:group name="TD-EVENT-VFB-PORT">
      <xsd:annotation>
         <xsd:documentation>This is the abstract parent class to describe specific timing event types at Virtual Function Bus (VFB) level.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IS-EXTERNAL" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to refer to external events that are related to hardware I/O, like physical sensors and actuators, at Virtual Function Bus (VFB) level.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbPort.isExternal";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-BLUEPRINT-REF">
            <xsd:annotation>
               <xsd:documentation>The PortPrototypeBlueprint is the scope of the timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbPort.portPrototypeBlueprint";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE-BLUEPRINT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-REF">
            <xsd:annotation>
               <xsd:documentation>The port scope of the timing event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbPort.port";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TDEventVfb::TDEventVfbReference -->
   <xsd:group name="TD-EVENT-VFB-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This is used to reference timing description events related to the Virtual Function Bus (VFB) view which are specified in other timing views.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERENCED-TD-EVENT-VFB-REF">
            <xsd:annotation>
               <xsd:documentation>The referenced timing description event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbReference.referencedTDEventVfb";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TD-EVENT-VFB--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventVfb::TDEventVfbReference -->
   <xsd:complexType abstract="false" mixed="false" name="TD-EVENT-VFB-REFERENCE">
      <xsd:annotation>
         <xsd:documentation>This is used to reference timing description events related to the Virtual Function Bus (VFB) view which are specified in other timing views.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVfbReference"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT"/>
         <xsd:group ref="AR:TD-EVENT-VFB"/>
         <xsd:group ref="AR:TD-EVENT-VFB-REFERENCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TDEventCom::TDHeaderIdRange -->
   <xsd:group name="TD-HEADER-ID-RANGE">
      <xsd:annotation>
         <xsd:documentation>Specifies a range of PDU header identifiers. This range is specified by a minimum and maximum header identifier; and the maximum header identifier shall be greater than or equal the minimum header identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDHeaderIdRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAX-HEADER-ID" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the maximum PDU header identifier, in other words the upper bound of a range of PDU header identifiers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDHeaderIdRange.maxHeaderId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MIN-HEADER-ID" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Specifies the minimum PDU header identifier, in other words the lower bound of a range of PDU header identifiers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TDHeaderIdRange.minHeaderId";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TDEventCom::TDHeaderIdRange -->
   <xsd:complexType abstract="false" mixed="false" name="TD-HEADER-ID-RANGE">
      <xsd:annotation>
         <xsd:documentation>Specifies a range of PDU header identifiers. This range is specified by a minimum and maximum header identifier; and the maximum header identifier shall be greater than or equal the minimum header identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDHeaderIdRange"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TD-HEADER-ID-RANGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class OasisExchangeTable::Table -->
   <xsd:group name="TABLE">
      <xsd:annotation>
         <xsd:documentation>This class implements an exchange table according to OASIS Technical Resolution TR 9503:1995.

http://www.oasis-open.org/specs/a503.htm</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Table"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TABLE-CAPTION" type="AR:CAPTION">
            <xsd:annotation>
               <xsd:documentation>This element specifies the table heading.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Table.tableCaption";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="TGROUP" type="AR:TGROUP">
            <xsd:annotation>
               <xsd:documentation>A table can be built of individual segments. Such a segment is called tgroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Table.tgroup";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="30";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Table.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class OasisExchangeTable::Table -->
   <xsd:attributeGroup name="TABLE">
      <xsd:annotation>
         <xsd:documentation>This class implements an exchange table according to OASIS Technical Resolution TR 9503:1995.

http://www.oasis-open.org/specs/a503.htm</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Table"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="COLSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if by default a line should be drawn between the columns of this table.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.colsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="FLOAT" type="AR:FLOAT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicate whether it is allowed to break the element.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.float";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="FRAME" type="AR:FRAME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Used to defined the frame line around a table.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.frame";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ORIENT" type="AR:ORIENT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicate whether a table should be represented as landscape or portrait. 
- land : landscape
- port : portrait</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.orient";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="PGWIDE" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Used to indicate wether the figure should take the complete page width (value = "pgwide") or not (value = "noPgwide").</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.pgwide";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ROWSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if by default  a line should be drawn at the bottom of table rows.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.rowsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="TABSTYLE" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates an external table style.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Table.tabstyle";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class OasisExchangeTable::Table -->
   <xsd:complexType abstract="false" mixed="false" name="TABLE">
      <xsd:annotation>
         <xsd:documentation>This class implements an exchange table according to OASIS Technical Resolution TR 9503:1995.

http://www.oasis-open.org/specs/a503.htm</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Table"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:TABLE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:TABLE"/>
   </xsd:complexType>
   <!-- element group for class TagWithOptionalValue::TagWithOptionalValue -->
   <xsd:group name="TAG-WITH-OPTIONAL-VALUE">
      <xsd:annotation>
         <xsd:documentation>A tagged value is a combination of a tag (key) and a value that gives supplementary information that is attached to a model element. Please note that keys without a value are allowed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TagWithOptionalValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEY" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Defines a key.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TagWithOptionalValue.key";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Defines the corresponding value.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TagWithOptionalValue.value";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TagWithOptionalValue::TagWithOptionalValue -->
   <xsd:complexType abstract="false" mixed="false" name="TAG-WITH-OPTIONAL-VALUE">
      <xsd:annotation>
         <xsd:documentation>A tagged value is a combination of a tag (key) and a value that gives supplementary information that is attached to a model element. Please note that keys without a value are allowed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TagWithOptionalValue"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TAG-WITH-OPTIONAL-VALUE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Fibex4Multiplatform::TargetIPduRef -->
   <xsd:group name="TARGET-I-PDU-REF">
      <xsd:annotation>
         <xsd:documentation>Target destination of the referencing mapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TargetIPduRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-VALUE" type="AR:PDU-MAPPING-DEFAULT-VALUE">
            <xsd:annotation>
               <xsd:documentation>If no I-Pdu has been received a default value will be distributed.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TargetIPduRef.defaultValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>IPdu Reference</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TargetIPduRef.targetIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PDU-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Fibex4Multiplatform::TargetIPduRef -->
   <xsd:complexType abstract="false" mixed="false" name="TARGET-I-PDU-REF">
      <xsd:annotation>
         <xsd:documentation>Target destination of the referencing mapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TargetIPduRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TARGET-I-PDU-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class OasisExchangeTable::Tbody -->
   <xsd:group name="TBODY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a part within a table group. Such a part can be the table head, the table body or the table foot.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tbody"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="ROW" type="AR:ROW">
            <xsd:annotation>
               <xsd:documentation>This is a particular row in a table.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Tbody.row";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class OasisExchangeTable::Tbody -->
   <xsd:attributeGroup name="TBODY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a part within a table group. Such a part can be the table head, the table body or the table foot.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tbody"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="VALIGN" type="AR:VALIGN-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates how the cells in the rows shall be aligned. Default is inherited from tbody, otherwise it is "TOP"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tbody.valign";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class OasisExchangeTable::Tbody -->
   <xsd:complexType abstract="false" mixed="false" name="TBODY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a part within a table group. Such a part can be the table head, the table body or the table foot.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tbody"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TBODY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:TBODY"/>
   </xsd:complexType>
   <!-- element group for class EthernetCommunication::TcpOptionFilterList -->
   <xsd:group name="TCP-OPTION-FILTER-LIST">
      <xsd:annotation>
         <xsd:documentation>White list for the filtering of TCP options.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TcpOptionFilterList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ALLOWED-TCP-OPTIONS">
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ALLOWED-TCP-OPTION" type="AR:POSITIVE-INTEGER">
                     <xsd:annotation>
                        <xsd:documentation>TCP option kind allowed by this filter.</xsd:documentation>
                        <xsd:appinfo source="tags">mmt.qualifiedName="TcpOptionFilterList.allowedTcpOption";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
                     </xsd:annotation>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::TcpOptionFilterList -->
   <xsd:complexType abstract="false" mixed="false" name="TCP-OPTION-FILTER-LIST">
      <xsd:annotation>
         <xsd:documentation>White list for the filtering of TCP options.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TcpOptionFilterList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TCP-OPTION-FILTER-LIST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TCP-OPTION-FILTER-LIST--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TCP-OPTION-FILTER-LIST"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetCommunication::TcpOptionFilterSet -->
   <xsd:group name="TCP-OPTION-FILTER-SET">
      <xsd:annotation>
         <xsd:documentation>Set of TcpOptionFilterLists.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TcpOptionFilterSets";mmt.qualifiedName="TcpOptionFilterSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TCP-OPTION-FILTER-LISTS">
            <xsd:annotation>
               <xsd:documentation>Collection of white lists for the filtering of TCP options.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpOptionFilterSet.tcpOptionFilterList";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TCP-OPTION-FILTER-LIST" type="AR:TCP-OPTION-FILTER-LIST"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::TcpOptionFilterSet -->
   <xsd:complexType abstract="false" mixed="false" name="TCP-OPTION-FILTER-SET">
      <xsd:annotation>
         <xsd:documentation>Set of TcpOptionFilterLists.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TcpOptionFilterSets";mmt.qualifiedName="TcpOptionFilterSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TCP-OPTION-FILTER-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::TcpTp -->
   <xsd:group name="TCP-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for TCP configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEEP-ALIVE-INTERVAL" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the interval in seconds between subsequent keepalive probes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.keepAliveInterval";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEEP-ALIVE-PROBES-MAX" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Maximum number of times that TCP retransmits an individual data segment before aborting the connection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.keepAliveProbesMax";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEEP-ALIVE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies the time in seconds between the last data packet sent and the first keepalive probe.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.keepAliveTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="KEEP-ALIVES" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates if Keep-Alive messages are send.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.keepAlives";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NAGLES-ALGORITHM" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates if Nagle's Algorithm is used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.naglesAlgorithm";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RECEIVE-WINDOW-MIN" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Minimum size of the TCP receive window in byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.receiveWindowMin";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TCP-TP-PORT" type="AR:TP-PORT">
            <xsd:annotation>
               <xsd:documentation>TCP Port configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp.tcpTpPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::TcpTp -->
   <xsd:complexType abstract="false" mixed="false" name="TCP-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for TCP configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TcpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSPORT-PROTOCOL-CONFIGURATION"/>
         <xsd:group ref="AR:TCP-UDP-CONFIG"/>
         <xsd:group ref="AR:TCP-TP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::TcpUdpConfig -->
   <xsd:group name="TCP-UDP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Tcp or Udp Transport Protocol Configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TcpUdpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class PortInterface::TextTableMapping -->
   <xsd:group name="TEXT-TABLE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two DataPrototypes typed by AutosarDataTypes that refer to CompuMethods of category TEXTTABLE, SCALE_LINEAR_AND_TEXTTABLE or BITFIELD_TEXTTABLE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BITFIELD-TEXT-TABLE-MASK-FIRST" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute can be used to support the mapping of bit field to bit field, boolean values to bit fields, and vice versa. The attribute defines the bit mask for the first element of the TextTableMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping.bitfieldTextTableMaskFirst";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BITFIELD-TEXT-TABLE-MASK-SECOND" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This attribute can be used to support the mapping of bit field to bit field, boolean values to bit fields, and vice versa. The attribute defines the bit mask for the second element of the TextTableMapping.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping.bitfieldTextTableMaskSecond";pureMM.maxOccurs="1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENTICAL-MAPPING" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>If identicalMapping is set == true the values of the two referenced DataPrototypes do not need any conversion of the values.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping.identicalMapping";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MAPPING-DIRECTION" type="AR:MAPPING-DIRECTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies the conversion direction for which the TextTableMapping is applicable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping.mappingDirection";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-PAIRS">
            <xsd:annotation>
               <xsd:documentation>Defines a pair of values which are translated into each other.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping.valuePair";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TEXT-TABLE-VALUE-PAIR" type="AR:TEXT-TABLE-VALUE-PAIR"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::TextTableMapping -->
   <xsd:complexType abstract="false" mixed="false" name="TEXT-TABLE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two DataPrototypes typed by AutosarDataTypes that refer to CompuMethods of category TEXTTABLE, SCALE_LINEAR_AND_TEXTTABLE or BITFIELD_TEXTTABLE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextTableMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TEXT-TABLE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::TextTableValuePair -->
   <xsd:group name="TEXT-TABLE-VALUE-PAIR">
      <xsd:annotation>
         <xsd:documentation>Defines a pair of text values which are translated into each other.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextTableValuePair"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-VALUE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Value of first DataPrototype provided similar to a numerical ValueSpecification which is intended to be assigned to a Primitive data element.
Note that the numerical value is a variant, it can be computed by a formula.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableValuePair.firstValue";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-VALUE" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>Value of second DataPrototype provided similar to a numerical  ValueSpecification which is intended to be assigned to a Primitive data element.
Note that the numerical value is a variant, it can be computed by a formula.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextTableValuePair.secondValue";pureMM.maxOccurs="1";pureMM.minOccurs="1";vh.latestBindingTime="preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::TextTableValuePair -->
   <xsd:complexType abstract="false" mixed="false" name="TEXT-TABLE-VALUE-PAIR">
      <xsd:annotation>
         <xsd:documentation>Defines a pair of text values which are translated into each other.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextTableValuePair"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TEXT-TABLE-VALUE-PAIR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::TextValueSpecification -->
   <xsd:group name="TEXT-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>The purpose of TextValueSpecification is to define the labels that correspond to enumeration values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:VERBATIM-STRING">
            <xsd:annotation>
               <xsd:documentation>This is the value itself.

Note that vt uses the | operator to separate the values for the different bitfield masks in case that the semantics of the related DataPrototype is described by means of a BITFIELD_TEXTTABLE in the associated CompuMethod.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextValueSpecification.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Constants::TextValueSpecification -->
   <xsd:complexType abstract="false" mixed="false" name="TEXT-VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>The purpose of TextValueSpecification is to define the labels that correspond to enumeration values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-SPECIFICATION"/>
         <xsd:group ref="AR:TEXT-VALUE-SPECIFICATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::TextualCondition -->
   <xsd:group name="TEXTUAL-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Specifies additional conditions for one or more model elements. The condition is described using human language.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextualCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TEXT" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Human language description of the condition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TextualCondition.text";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::TextualCondition -->
   <xsd:complexType abstract="false" mixed="false" name="TEXTUAL-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Specifies additional conditions for one or more model elements. The condition is described using human language.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TextualCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ABSTRACT-CONDITION"/>
         <xsd:group ref="AR:TEXTUAL-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class OasisExchangeTable::Tgroup -->
   <xsd:group name="TGROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a table section.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="COLSPEC" type="AR:COLSPEC">
            <xsd:annotation>
               <xsd:documentation>This specifies one particular column specification in the table. There must be one entry for each column.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.colspec";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.roleElement="true";xml.roleWrapperElement="false";xml.sequenceOffset="20";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="THEAD" type="AR:TBODY">
            <xsd:annotation>
               <xsd:documentation>This represents the heading of the table section. The heading is usually repeated at the beginning of each new page.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.thead";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TFOOT" type="AR:TBODY">
            <xsd:annotation>
               <xsd:documentation>This represents the footer of the table segement. This segment is printed at the end of the table or before a page break.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.tfoot";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TBODY" type="AR:TBODY">
            <xsd:annotation>
               <xsd:documentation>This is the main part of the table segment, called the table body.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.tbody";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class OasisExchangeTable::Tgroup -->
   <xsd:attributeGroup name="TGROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a table section.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="ALIGN" type="AR:ALIGN-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Specifies how the cell entries shall be horizontally aligned within the specified TGROUP.
Default is "LEFT"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.align";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLS" type="AR:INTEGER--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute represents the number of columns in the table.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.cols";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="COLSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if by default a line shall be drawn between the columns of this table group.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.colsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="ROWSEP" type="AR:TABLE-SEPARATOR-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if by default a line shall be drawn at the bottom of the rows in this table group.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup.rowsep";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class OasisExchangeTable::Tgroup -->
   <xsd:complexType abstract="false" mixed="false" name="TGROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a table section.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tgroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TGROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:TGROUP"/>
   </xsd:complexType>
   <!-- element group for class Timing::TimeRangeType -->
   <xsd:group name="TIME-RANGE-TYPE">
      <xsd:annotation>
         <xsd:documentation>The timeRange can be specified with the value attribute. Optionally a tolerance can be defined.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeRangeType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TOLERANCE">
            <xsd:annotation>
               <xsd:documentation>Optional specification of a tolerance.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeRangeType.tolerance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="ABSOLUTE-TOLERANCE" type="AR:ABSOLUTE-TOLERANCE"/>
                  <xsd:element name="RELATIVE-TOLERANCE" type="AR:RELATIVE-TOLERANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Average value of a date (in seconds)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeRangeType.value";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::TimeRangeType -->
   <xsd:complexType abstract="false" mixed="false" name="TIME-RANGE-TYPE">
      <xsd:annotation>
         <xsd:documentation>The timeRange can be specified with the value attribute. Optionally a tolerance can be defined.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeRangeType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TIME-RANGE-TYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::TimeRangeTypeTolerance -->
   <xsd:group name="TIME-RANGE-TYPE-TOLERANCE">
      <xsd:annotation>
         <xsd:documentation>Maximum allowable deviation</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeRangeTypeTolerance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class EthernetTopology::TimeSyncClientConfiguration -->
   <xsd:group name="TIME-SYNC-CLIENT-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of the time synchronisation client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncClientConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ORDERED-MASTER-LIST">
            <xsd:annotation>
               <xsd:documentation>Defines a list of ordered NetworkEndpoints.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncClientConfiguration.orderedMaster";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.namePlural="ORDERED-MASTER-LIST"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="ORDERED-MASTER" type="AR:ORDERED-MASTER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNC-TECHNOLOGY" type="AR:TIME-SYNC-TECHNOLOGY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the time synchronisation technology used.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncClientConfiguration.timeSyncTechnology";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::TimeSyncClientConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="TIME-SYNC-CLIENT-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of the time synchronisation client.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncClientConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TIME-SYNC-CLIENT-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::TimeSyncServerConfiguration -->
   <xsd:group name="TIME-SYNC-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of the time synchronisation server.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Server Priority.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncServerConfiguration.priority";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYNC-INTERVAL" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Synchronisation interval used by the time synchronisation server (in seconds).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncServerConfiguration.syncInterval";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNC-SERVER-IDENTIFIER" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Identifier of the TimeSyncServer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncServerConfiguration.timeSyncServerIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNC-TECHNOLOGY" type="AR:TIME-SYNC-TECHNOLOGY-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines the time synchronisation technology used.
Possible values are: NTP_RFC958, PTP_IEEE1588_2002, PTP_IEEE1588_2008, AVB_IEEE802_1AS and others.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncServerConfiguration.timeSyncTechnology";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::TimeSyncServerConfiguration -->
   <xsd:complexType abstract="false" mixed="false" name="TIME-SYNC-SERVER-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Defines the configuration of the time synchronisation server.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncServerConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:TIME-SYNC-SERVER-CONFIGURATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="TIME-SYNC-SERVER-CONFIGURATION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TIME-SYNC-SERVER-CONFIGURATION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::TimeSynchronization -->
   <xsd:group name="TIME-SYNCHRONIZATION">
      <xsd:annotation>
         <xsd:documentation>Defines the servers / clients in a time synchronised network.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSynchronization"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNC-CLIENT" type="AR:TIME-SYNC-CLIENT-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Configuration of the time synchronisation client.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSynchronization.timeSyncClient";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-SYNC-SERVER" type="AR:TIME-SYNC-SERVER-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Configuration of the time synchronisation server.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimeSynchronization.timeSyncServer";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::TimeSynchronization -->
   <xsd:complexType abstract="false" mixed="false" name="TIME-SYNCHRONIZATION">
      <xsd:annotation>
         <xsd:documentation>Defines the servers / clients in a time synchronised network.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSynchronization"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TIME-SYNCHRONIZATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TimingConditional::TimingCondition -->
   <xsd:group name="TIMING-CONDITION">
      <xsd:annotation>
         <xsd:documentation>A TimingCondition describes a dependency on a specific condition. The element owns an expression which describes the timing condition dependency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-CONDITION-FORMULA" type="AR:TIMING-CONDITION-FORMULA">
            <xsd:annotation>
               <xsd:documentation>This is the expression describing the dependency on a specific condition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingCondition.timingConditionFormula";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingCondition.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TimingConditional::TimingCondition -->
   <xsd:complexType abstract="false" mixed="false" name="TIMING-CONDITION">
      <xsd:annotation>
         <xsd:documentation>A TimingCondition describes a dependency on a specific condition. The element owns an expression which describes the timing condition dependency.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TIMING-CONDITION--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TIMING-CONDITION"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TimingConditional::TimingConditionFormula -->
   <xsd:group name="TIMING-CONDITION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>A TimingConditionFormula describes a specific dependency. The expression shall be a boolean expression addressing modes, variables, arguments, and/or events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="TIMING-ARGUMENT-REF">
               <xsd:annotation>
                  <xsd:documentation>This refers to an argument of an operation call.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula.timingArgument";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:AUTOSAR-OPERATION-ARGUMENT-INSTANCE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="TIMING-CONDITION-REF">
               <xsd:annotation>
                  <xsd:documentation>This refers to a timing condition that is part of an expression describing the dependency on a specific condition.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula.timingCondition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TIMING-CONDITION--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="TIMING-EVENT-REF">
               <xsd:annotation>
                  <xsd:documentation>This refers to a timing event.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula.timingEvent";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="TIMING-MODE-REF">
               <xsd:annotation>
                  <xsd:documentation>This refers to a mode declaration.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula.timingMode";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:TIMING-MODE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
            <xsd:element name="TIMING-VARIABLE-REF">
               <xsd:annotation>
                  <xsd:documentation>This refers to a variable.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula.timingVariable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               </xsd:annotation>
               <xsd:complexType>
                  <xsd:simpleContent>
                     <xsd:extension base="AR:REF">
                        <xsd:attribute name="DEST" type="AR:AUTOSAR-VARIABLE-INSTANCE--SUBTYPES-ENUM" use="required"/>
                     </xsd:extension>
                  </xsd:simpleContent>
               </xsd:complexType>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class TimingConditional::TimingConditionFormula -->
   <xsd:complexType abstract="false" mixed="true" name="TIMING-CONDITION-FORMULA">
      <xsd:annotation>
         <xsd:documentation>A TimingConditionFormula describes a specific dependency. The expression shall be a boolean expression addressing modes, variables, arguments, and/or events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingConditionFormula"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:TIMING-CONDITION-FORMULA"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TimingConstraint::TimingConstraint -->
   <xsd:group name="TIMING-CONSTRAINT">
      <xsd:annotation>
         <xsd:documentation>The abstract parent class of different timing constraints supported by the Timing extension.

A concrete timing constraint is used to bound the timing behavior of the model elements in its scope.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingConstraint";xml.sequenceOffset="20"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-CONDITION-REF">
            <xsd:annotation>
               <xsd:documentation>A timing condition the timing constraint depends on. In other words it specifies the condition the timing constraint holds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingConstraint.timingCondition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-CONDITION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingConstraint.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TimingDescription::TimingDescription -->
   <xsd:group name="TIMING-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>The abstract parent class of the model elements that are used to define the scope of a timing constraint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescription";xml.sequenceOffset="10"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescription.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TimingDescription::TimingDescriptionEvent -->
   <xsd:group name="TIMING-DESCRIPTION-EVENT">
      <xsd:annotation>
         <xsd:documentation>A timing event is the abstract representation of a specific system behavior -- that can be observed at runtime -- in the AUTOSAR specification. Timing events are used to define the scope for timing constraints. Depending on the specific scope, the view on the system, and the level of abstraction different types of events are defined.

In order to avoid confusion with existing event descriptions in the AUTOSAR templates the timing specific event types use the prefix TD.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OCCURRENCE-EXPRESSION" type="AR:TD-EVENT-OCCURRENCE-EXPRESSION">
            <xsd:annotation>
               <xsd:documentation>The occurrence expression for this event.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEvent.occurrenceExpression";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TD-EVENT-BSW"/>
         <xsd:enumeration value="TD-EVENT-BSW-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-BSW-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-BSW-MODULE"/>
         <xsd:enumeration value="TD-EVENT-COM"/>
         <xsd:enumeration value="TD-EVENT-COMPLEX"/>
         <xsd:enumeration value="TD-EVENT-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-FR-CLUSTER-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-FRAME"/>
         <xsd:enumeration value="TD-EVENT-FRAME-ETHERNET"/>
         <xsd:enumeration value="TD-EVENT-I-PDU"/>
         <xsd:enumeration value="TD-EVENT-I-SIGNAL"/>
         <xsd:enumeration value="TD-EVENT-MODE-DECLARATION"/>
         <xsd:enumeration value="TD-EVENT-OPERATION"/>
         <xsd:enumeration value="TD-EVENT-SWC"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR"/>
         <xsd:enumeration value="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE"/>
         <xsd:enumeration value="TD-EVENT-TT-CAN-CYCLE-START"/>
         <xsd:enumeration value="TD-EVENT-TRIGGER"/>
         <xsd:enumeration value="TD-EVENT-VARIABLE-DATA-PROTOTYPE"/>
         <xsd:enumeration value="TD-EVENT-VFB"/>
         <xsd:enumeration value="TD-EVENT-VFB-PORT"/>
         <xsd:enumeration value="TD-EVENT-VFB-REFERENCE"/>
         <xsd:enumeration value="TIMING-DESCRIPTION-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TimingDescription::TimingDescriptionEventChain -->
   <xsd:group name="TIMING-DESCRIPTION-EVENT-CHAIN">
      <xsd:annotation>
         <xsd:documentation>An event chain describes the causal order for a set of functionally dependent timing events. Each event chain has a well defined stimulus and response, which describe its start and end point. Furthermore, it can be hierarchically decomposed into an arbitrary number of sub-chains, so called ''event chain segments''.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEventChain"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="STIMULUS-REF">
            <xsd:annotation>
               <xsd:documentation>The stimulus event representing the point in time where the event chain is activated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEventChain.stimulus";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="RESPONSE-REF">
            <xsd:annotation>
               <xsd:documentation>The response event representing the point in time where the event chain is terminated.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEventChain.response";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEGMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>A composed event chain consists of an arbitrary number of sub-chains.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEventChain.segment";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SEGMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TIMING-DESCRIPTION-EVENT-CHAIN--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TimingDescription::TimingDescriptionEventChain -->
   <xsd:complexType abstract="false" mixed="false" name="TIMING-DESCRIPTION-EVENT-CHAIN">
      <xsd:annotation>
         <xsd:documentation>An event chain describes the causal order for a set of functionally dependent timing events. Each event chain has a well defined stimulus and response, which describe its start and end point. Furthermore, it can be hierarchically decomposed into an arbitrary number of sub-chains, so called ''event chain segments''.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingDescriptionEventChain"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION"/>
         <xsd:group ref="AR:TIMING-DESCRIPTION-EVENT-CHAIN"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TIMING-DESCRIPTION-EVENT-CHAIN--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TIMING-DESCRIPTION-EVENT-CHAIN"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RTEEvents::TimingEvent -->
   <xsd:group name="TIMING-EVENT">
      <xsd:annotation>
         <xsd:documentation>TimingEvent references the RunnableEntity that need to be started in response to the TimingEvent</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="PERIOD" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Period of timing event in seconds. The value of this attribute shall be greater than zero.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingEvent.period";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::TimingEvent -->
   <xsd:complexType abstract="false" mixed="false" name="TIMING-EVENT">
      <xsd:annotation>
         <xsd:documentation>TimingEvent references the RunnableEntity that need to be started in response to the TimingEvent</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:TIMING-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TIMING-EVENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TIMING-EVENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Timing::TimingExtension -->
   <xsd:group name="TIMING-EXTENSION">
      <xsd:annotation>
         <xsd:documentation>The abstract parent class of the different template specific timing extensions.

Depending on the specific timing extension (VfbTiming, SwcTiming, SystemTiming, BswModuleTiming, EcuTiming) the timing descriptions and timing constraints, that can be used to specify the timing behavior, are restricted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingExtension"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>The timing condition specifies a specific condition.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtension.timingCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TIMING-CONDITION" type="AR:TIMING-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-DESCRIPTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtension.timingDescription";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TD-EVENT-BSW-INTERNAL-BEHAVIOR" type="AR:TD-EVENT-BSW-INTERNAL-BEHAVIOR"/>
                  <xsd:element name="TD-EVENT-BSW-MODE-DECLARATION" type="AR:TD-EVENT-BSW-MODE-DECLARATION"/>
                  <xsd:element name="TD-EVENT-BSW-MODULE" type="AR:TD-EVENT-BSW-MODULE"/>
                  <xsd:element name="TD-EVENT-COMPLEX" type="AR:TD-EVENT-COMPLEX"/>
                  <xsd:element name="TD-EVENT-FR-CLUSTER-CYCLE-START" type="AR:TD-EVENT-FR-CLUSTER-CYCLE-START"/>
                  <xsd:element name="TD-EVENT-FRAME" type="AR:TD-EVENT-FRAME"/>
                  <xsd:element name="TD-EVENT-FRAME-ETHERNET" type="AR:TD-EVENT-FRAME-ETHERNET"/>
                  <xsd:element name="TD-EVENT-I-PDU" type="AR:TD-EVENT-I-PDU"/>
                  <xsd:element name="TD-EVENT-I-SIGNAL" type="AR:TD-EVENT-I-SIGNAL"/>
                  <xsd:element name="TD-EVENT-MODE-DECLARATION" type="AR:TD-EVENT-MODE-DECLARATION"/>
                  <xsd:element name="TD-EVENT-OPERATION" type="AR:TD-EVENT-OPERATION"/>
                  <xsd:element name="TD-EVENT-SWC-INTERNAL-BEHAVIOR" type="AR:TD-EVENT-SWC-INTERNAL-BEHAVIOR"/>
                  <xsd:element name="TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE" type="AR:TD-EVENT-SWC-INTERNAL-BEHAVIOR-REFERENCE"/>
                  <xsd:element name="TD-EVENT-TT-CAN-CYCLE-START" type="AR:TD-EVENT-TT-CAN-CYCLE-START"/>
                  <xsd:element name="TD-EVENT-TRIGGER" type="AR:TD-EVENT-TRIGGER"/>
                  <xsd:element name="TD-EVENT-VARIABLE-DATA-PROTOTYPE" type="AR:TD-EVENT-VARIABLE-DATA-PROTOTYPE"/>
                  <xsd:element name="TD-EVENT-VFB-REFERENCE" type="AR:TD-EVENT-VFB-REFERENCE"/>
                  <xsd:element name="TIMING-DESCRIPTION-EVENT-CHAIN" type="AR:TIMING-DESCRIPTION-EVENT-CHAIN"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-GUARANTEES">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtension.timingGuarantee";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AGE-CONSTRAINT" type="AR:AGE-CONSTRAINT"/>
                  <xsd:element name="ARBITRARY-EVENT-TRIGGERING" type="AR:ARBITRARY-EVENT-TRIGGERING"/>
                  <xsd:element name="BURST-PATTERN-EVENT-TRIGGERING" type="AR:BURST-PATTERN-EVENT-TRIGGERING"/>
                  <xsd:element name="CONCRETE-PATTERN-EVENT-TRIGGERING" type="AR:CONCRETE-PATTERN-EVENT-TRIGGERING"/>
                  <xsd:element name="EXECUTION-ORDER-CONSTRAINT" type="AR:EXECUTION-ORDER-CONSTRAINT"/>
                  <xsd:element name="EXECUTION-TIME-CONSTRAINT" type="AR:EXECUTION-TIME-CONSTRAINT"/>
                  <xsd:element name="LATENCY-TIMING-CONSTRAINT" type="AR:LATENCY-TIMING-CONSTRAINT"/>
                  <xsd:element name="OFFSET-TIMING-CONSTRAINT" type="AR:OFFSET-TIMING-CONSTRAINT"/>
                  <xsd:element name="PERIODIC-EVENT-TRIGGERING" type="AR:PERIODIC-EVENT-TRIGGERING"/>
                  <xsd:element name="SPORADIC-EVENT-TRIGGERING" type="AR:SPORADIC-EVENT-TRIGGERING"/>
                  <xsd:element name="SYNCHRONIZATION-TIMING-CONSTRAINT" type="AR:SYNCHRONIZATION-TIMING-CONSTRAINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-REQUIREMENTS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtension.timingRequirement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AGE-CONSTRAINT" type="AR:AGE-CONSTRAINT"/>
                  <xsd:element name="ARBITRARY-EVENT-TRIGGERING" type="AR:ARBITRARY-EVENT-TRIGGERING"/>
                  <xsd:element name="BURST-PATTERN-EVENT-TRIGGERING" type="AR:BURST-PATTERN-EVENT-TRIGGERING"/>
                  <xsd:element name="CONCRETE-PATTERN-EVENT-TRIGGERING" type="AR:CONCRETE-PATTERN-EVENT-TRIGGERING"/>
                  <xsd:element name="EXECUTION-ORDER-CONSTRAINT" type="AR:EXECUTION-ORDER-CONSTRAINT"/>
                  <xsd:element name="EXECUTION-TIME-CONSTRAINT" type="AR:EXECUTION-TIME-CONSTRAINT"/>
                  <xsd:element name="LATENCY-TIMING-CONSTRAINT" type="AR:LATENCY-TIMING-CONSTRAINT"/>
                  <xsd:element name="OFFSET-TIMING-CONSTRAINT" type="AR:OFFSET-TIMING-CONSTRAINT"/>
                  <xsd:element name="PERIODIC-EVENT-TRIGGERING" type="AR:PERIODIC-EVENT-TRIGGERING"/>
                  <xsd:element name="SPORADIC-EVENT-TRIGGERING" type="AR:SPORADIC-EVENT-TRIGGERING"/>
                  <xsd:element name="SYNCHRONIZATION-TIMING-CONSTRAINT" type="AR:SYNCHRONIZATION-TIMING-CONSTRAINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-RESOURCE" type="AR:TIMING-EXTENSION-RESOURCE">
            <xsd:annotation>
               <xsd:documentation>The timing resource contains all instance references referred from within a timing condition formula of a timing view.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtension.timingResource";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TimingConditional::TimingExtensionResource -->
   <xsd:group name="TIMING-EXTENSION-RESOURCE">
      <xsd:annotation>
         <xsd:documentation>A TimingExtensionResource provides the capability to contain instance references referred from within a timing condition formula.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingExtensionResource"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-ARGUMENTS">
            <xsd:annotation>
               <xsd:documentation>This refers to an instance reference of an argument of an operation call.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtensionResource.timingArgument";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-OPERATION-ARGUMENT-INSTANCE" type="AR:AUTOSAR-OPERATION-ARGUMENT-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-MODES">
            <xsd:annotation>
               <xsd:documentation>This refers to an instance reference of a mode declaration.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtensionResource.timingMode";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TIMING-MODE-INSTANCE" type="AR:TIMING-MODE-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMING-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>This refers to an instance reference of a variable.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was -1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Splitkey="shortName, variationPoint.shortLabel";mmt.qualifiedName="TimingExtensionResource.timingVariable";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               <xsd:appinfo source="stereotypes">atpSplitable</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="AUTOSAR-VARIABLE-INSTANCE" type="AR:AUTOSAR-VARIABLE-INSTANCE"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TimingConditional::TimingExtensionResource -->
   <xsd:complexType abstract="false" mixed="false" name="TIMING-EXTENSION-RESOURCE">
      <xsd:annotation>
         <xsd:documentation>A TimingExtensionResource provides the capability to contain instance references referred from within a timing condition formula.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingExtensionResource"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-EXTENSION-RESOURCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TimingConditional::TimingModeInstance -->
   <xsd:group name="TIMING-MODE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This class specifies the mode declaration to be checked in a specific instance of a mode declaration group.
This is used in a timing condition formula as an operand of the unary timing function TIMEX_modeActive to check whether the mode declaration is active at the point in time this expression is evaluated.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingModeInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-INSTANCE">
            <xsd:annotation>
               <xsd:documentation>This refers to a specific mode declaration in the given context.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingModeInstance.modeInstance";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="MODE-IN-BSW-INSTANCE-REF" type="AR:MODE-IN-BSW-INSTANCE-REF"/>
                  <xsd:element name="MODE-IN-SWC-INSTANCE-REF" type="AR:MODE-IN-SWC-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TimingModeInstance.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TimingConditional::TimingModeInstance -->
   <xsd:complexType abstract="false" mixed="false" name="TIMING-MODE-INSTANCE">
      <xsd:annotation>
         <xsd:documentation>This class specifies the mode declaration to be checked in a specific instance of a mode declaration group.
This is used in a timing condition formula as an operand of the unary timing function TIMEX_modeActive to check whether the mode declaration is active at the point in time this expression is evaluated.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimingModeInstance"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TIMING-MODE-INSTANCE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TIMING-MODE-INSTANCE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TIMING-MODE-INSTANCE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Chapters::Topic1 -->
   <xsd:group name="TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a topic of a documentation. Topics are similar to chapters but they cannot be nested. 

They also do not appear in the table of content. Topics can be used to produce intermediate headlines thus structuring a chapter internally.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Topic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:TOPIC-CONTENT-OR-MSR-QUERY"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Topic1.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class Chapters::Topic1 -->
   <xsd:attributeGroup name="TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a topic of a documentation. Topics are similar to chapters but they cannot be nested. 

They also do not appear in the table of content. Topics can be used to produce intermediate headlines thus structuring a chapter internally.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Topic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="HELP-ENTRY" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This specifies an entry point in an online help system to be linked with the parent class. The syntax must be defined by the applied help system respectively help system generator.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Topic1.helpEntry";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class Chapters::Topic1 -->
   <xsd:complexType abstract="false" mixed="false" name="TOPIC-1">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a topic of a documentation. Topics are similar to chapters but they cannot be nested. 

They also do not appear in the table of content. Topics can be used to produce intermediate headlines thus structuring a chapter internally.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Topic1"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:TOPIC-1"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
      <xsd:attributeGroup ref="AR:TOPIC-1"/>
   </xsd:complexType>
   <!-- element group for class Chapters::TopicContent -->
   <xsd:group name="TOPIC-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the content of a topic. It is mainly a documentation block, but can also be a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TopicContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:choice maxOccurs="unbounded" minOccurs="0">
               <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
            </xsd:choice>
            <xsd:element name="TABLE" type="AR:TABLE">
               <xsd:annotation>
                  <xsd:documentation>Ths represents a table within a topic.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TopicContent.table";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class Chapters::TopicContent -->
   <xsd:complexType abstract="false" mixed="false" name="TOPIC-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the content of a topic. It is mainly a documentation block, but can also be a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TopicContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TOPIC-CONTENT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Chapters::TopicContentOrMsrQuery -->
   <xsd:group name="TOPIC-CONTENT-OR-MSR-QUERY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a topic or a topic content which is generated using queries.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TopicContentOrMsrQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="MSR-QUERY-P-1" type="AR:MSR-QUERY-P-1">
               <xsd:annotation>
                  <xsd:documentation>This represents automatically contributed contents provided by an msrquery.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TopicContentOrMsrQuery.msrQueryP1";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:choice maxOccurs="unbounded" minOccurs="0">
               <xsd:group ref="AR:TOPIC-CONTENT"/>
            </xsd:choice>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class Chapters::TopicContentOrMsrQuery -->
   <xsd:complexType abstract="false" mixed="false" name="TOPIC-CONTENT-OR-MSR-QUERY">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a topic or a topic content which is generated using queries.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TopicContentOrMsrQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TOPIC-CONTENT-OR-MSR-QUERY"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Chapters::TopicOrMsrQuery -->
   <xsd:group name="TOPIC-OR-MSR-QUERY">
      <xsd:annotation>
         <xsd:documentation>This class provides the alternative of a Topic with an MsrQuery which delivers a topic.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TopicOrMsrQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="TOPIC-1" type="AR:TOPIC-1">
               <xsd:annotation>
                  <xsd:documentation>This is used to create particcular topics within a chapter. A topic is similar to a subchapter, but cannot be nesxted and will not appear in the table of contents of the document.
The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TopicOrMsrQuery.topic1";pureMM.maxOccurs="-1";pureMM.minOccurs="1";vh.latestBindingTime="postBuild";xml.sequenceOffset="180"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="MSR-QUERY-TOPIC-1" type="AR:MSR-QUERY-TOPIC-1">
               <xsd:annotation>
                  <xsd:documentation>This represents automatically contributed topics provided by an msrquery.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="TopicOrMsrQuery.msrQueryTopic1";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="190"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class Chapters::TopicOrMsrQuery -->
   <xsd:complexType abstract="false" mixed="false" name="TOPIC-OR-MSR-QUERY">
      <xsd:annotation>
         <xsd:documentation>This class provides the alternative of a Topic with an MsrQuery which delivers a topic.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TopicOrMsrQuery"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TOPIC-OR-MSR-QUERY"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TransportProtocols::TpAddress -->
   <xsd:group name="TP-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>An ECUs TP address on the referenced channel. This represents the diagnostic Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TP-ADDRESS" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>An ECUs TP address on the referenced channel. This represents the diagnostic Address.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TpAddress.tpAddress";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TpAddress.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TransportProtocols::TpAddress -->
   <xsd:complexType abstract="false" mixed="false" name="TP-ADDRESS">
      <xsd:annotation>
         <xsd:documentation>An ECUs TP address on the referenced channel. This represents the diagnostic Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpAddress"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TP-ADDRESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TP-ADDRESS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TP-ADDRESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TransportProtocols::TpConfig -->
   <xsd:group name="TP-CONFIG">
      <xsd:annotation>
         <xsd:documentation>Contains all configuration elements for AUTOSAR TP.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CLUSTER-REF">
            <xsd:annotation>
               <xsd:documentation>A TpConfig is existing always in the context of exactly one CommunicationCluster.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TpConfig.communicationCluster";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:COMMUNICATION-CLUSTER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DiagnosticConnection::TpConnection -->
   <xsd:group name="TP-CONNECTION">
      <xsd:annotation>
         <xsd:documentation>TpConnection Base Class.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpConnection"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="IDENT" type="AR:TP-CONNECTION-IDENT">
            <xsd:annotation>
               <xsd:documentation>This adds the ability to become referrable to TpConnection.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TpConnection.ident";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DiagnosticConnection::TpConnectionIdent -->
   <xsd:group name="TP-CONNECTION-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable TpConnection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpConnectionIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DiagnosticConnection::TpConnectionIdent -->
   <xsd:complexType abstract="false" mixed="false" name="TP-CONNECTION-IDENT">
      <xsd:annotation>
         <xsd:documentation>This meta-class is created to add the ability to become the target of a reference to the non-Referrable TpConnection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpConnectionIdent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:TP-CONNECTION-IDENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:simpleType name="TP-CONNECTION-IDENT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TP-CONNECTION-IDENT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class EthernetTopology::TpPort -->
   <xsd:group name="TP-PORT">
      <xsd:annotation>
         <xsd:documentation>Dynamic or direct assignment of a PortNumber.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DYNAMICALLY-ASSIGNED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Indicates whether the source port is dynamically assigned.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TpPort.dynamicallyAssigned";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-NUMBER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Port Number.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TpPort.portNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::TpPort -->
   <xsd:complexType abstract="false" mixed="false" name="TP-PORT">
      <xsd:annotation>
         <xsd:documentation>Dynamic or direct assignment of a PortNumber.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpPort"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TP-PORT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RequirementsTracing::TraceReferrable -->
   <xsd:group name="TRACE-REFERRABLE">
      <xsd:annotation>
         <xsd:documentation>This meta class is intended to add the category to the subclasses of Traceable. 

Even if the model seems to be a bit awkward, it ensures backwards compatibility of the schema.

This approach allows to have subclasses of Traceable which are either Identifiable or only Referrable while still maintaining the consistent sequence of shortName, longName, category.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TraceReferrable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class RequirementsTracing::Traceable -->
   <xsd:group name="TRACEABLE">
      <xsd:annotation>
         <xsd:documentation>This meta class represents the ability to be subject to tracing within an AUTOSAR model.

Note that it is expected that its subclasses inherit either from MultilanguageReferrable or from Identifiable. Nevertheless it also inherits from MultilanguageReferrable in order to provide a common reference target for all Traceables.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Traceable"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRACE-REFS">
            <xsd:annotation>
               <xsd:documentation>This assocation represents the ability to trace to upstream requirements / constraints. This supports for example  the bottom up tracing 

ProjectObjectives &lt;- MainRequirements &lt;- Features &lt;- RequirementSpecs &lt;- BSW/AI</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Traceable.trace";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRACE-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:TRACEABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <xsd:simpleType name="TRACEABLE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AGE-CONSTRAINT"/>
         <xsd:enumeration value="ARBITRARY-EVENT-TRIGGERING"/>
         <xsd:enumeration value="BURST-PATTERN-EVENT-TRIGGERING"/>
         <xsd:enumeration value="CONCRETE-PATTERN-EVENT-TRIGGERING"/>
         <xsd:enumeration value="EVENT-TRIGGERING-CONSTRAINT"/>
         <xsd:enumeration value="EXECUTION-ORDER-CONSTRAINT"/>
         <xsd:enumeration value="EXECUTION-TIME-CONSTRAINT"/>
         <xsd:enumeration value="LATENCY-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="OFFSET-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="PERIODIC-EVENT-TRIGGERING"/>
         <xsd:enumeration value="SPORADIC-EVENT-TRIGGERING"/>
         <xsd:enumeration value="STRUCTURED-REQ"/>
         <xsd:enumeration value="SYNCHRONIZATION-TIMING-CONSTRAINT"/>
         <xsd:enumeration value="TIMING-CONSTRAINT"/>
         <xsd:enumeration value="TRACEABLE"/>
         <xsd:enumeration value="TRACEABLE-TEXT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RequirementsTracing::TraceableText -->
   <xsd:group name="TRACEABLE-TEXT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a traceable text item such as requirements etc.

The following approach appliles:

* '''shortName''' represents the tag for tracing
* '''longName''' represents the head line
* '''category''' represents the kind of the tagged text</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TraceableText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:DOCUMENTATION-BLOCK"/>
         </xsd:choice>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TraceableText.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RequirementsTracing::TraceableText -->
   <xsd:complexType abstract="false" mixed="false" name="TRACEABLE-TEXT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to denote a traceable text item such as requirements etc.

The following approach appliles:

* '''shortName''' represents the tag for tracing
* '''longName''' represents the head line
* '''category''' represents the kind of the tagged text</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TraceableText"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
         <xsd:group ref="AR:PAGINATEABLE"/>
         <xsd:group ref="AR:TRACEABLE"/>
         <xsd:group ref="AR:TRACEABLE-TEXT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
      <xsd:attributeGroup ref="AR:DOCUMENT-VIEW-SELECTABLE"/>
      <xsd:attributeGroup ref="AR:PAGINATEABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TRACEABLE-TEXT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TRACEABLE-TEXT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class ServiceNeeds::TracedFailure -->
   <xsd:group name="TRACED-FAILURE">
      <xsd:annotation>
         <xsd:documentation>Specifies the ability to report a specific failure to the error tracer.
The short name specifies the literal applicable for the Default Error Tracer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TracedFailure"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>ID of detected failure used in reporting API as error or fault id.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TracedFailure.id";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TracedFailure.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Communication::TransformationComSpecProps -->
   <xsd:group name="TRANSFORMATION-COM-SPEC-PROPS">
      <xsd:annotation>
         <xsd:documentation>TransformationComSpecProps holds all the attributes for transformers that are port specific.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationComSpecProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Transformer::TransformationDescription -->
   <xsd:group name="TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>The TransformationDescription is the abstract class that can be used by specific transformers to add transformer specific properties.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationDescription.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Transformer::TransformationISignalProps -->
   <xsd:group name="TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>TransformationISignalProps holds all the attributes for the different TransformationTechnologies that are ISignal specific.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationISignalProps";vh.latestBindingTime="postBuild"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class Transformer::TransformationISignalPropsContent -->
   <xsd:group name="TRANSFORMATION-I-SIGNAL-PROPS-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationISignalPropsContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CS-ERROR-REACTION" type="AR:CS-TRANSFORMER-ERROR-REACTION-ENUM">
            <xsd:annotation>
               <xsd:documentation>Defines whether the transformer chain of client/server communication coordinates an autonomous error reaction together with the RTE or whether any error reaction is the responsibility of the application.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationISignalProps.csErrorReaction";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-PROTOTYPE-TRANSFORMATION-PROPSS">
            <xsd:annotation>
               <xsd:documentation>Fine granular modeling of TransfromationProps on the level of DataPrototypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationISignalProps.dataPrototypeTransformationProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-TRANSFORMATION-PROPS" type="AR:DATA-PROTOTYPE-TRANSFORMATION-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMER-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the TransformationTechnology description that contains transformer specific and ISignal independent configuration properties.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationISignalProps.transformer";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRANSFORMATION-TECHNOLOGY--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class Transformer::TransformationProps -->
   <xsd:group name="TRANSFORMATION-PROPS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents a abstract base class for transformation settings.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <xsd:simpleType name="TRANSFORMATION-PROPS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SOMEIP-TRANSFORMATION-PROPS"/>
         <xsd:enumeration value="TRANSFORMATION-PROPS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Transformer::TransformationPropsSet -->
   <xsd:group name="TRANSFORMATION-PROPS-SET">
      <xsd:annotation>
         <xsd:documentation>Collection of TransformationProps.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TransformationPropsSets";mmt.qualifiedName="TransformationPropsSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-PROPSS">
            <xsd:annotation>
               <xsd:documentation>Transformer specific configuration properties.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationPropsSet.transformationProps";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SOMEIP-TRANSFORMATION-PROPS" type="AR:SOMEIP-TRANSFORMATION-PROPS"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::TransformationPropsSet -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSFORMATION-PROPS-SET">
      <xsd:annotation>
         <xsd:documentation>Collection of TransformationProps.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TransformationPropsSets";mmt.qualifiedName="TransformationPropsSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TRANSFORMATION-PROPS-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Transformer::TransformationTechnology -->
   <xsd:group name="TRANSFORMATION-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>A TransformationTechnology is a transformer inside a transformer chain.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology";xml.namePlural="TRANSFORMATION-TECHNOLOGIES"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BUFFER-PROPERTIES" type="AR:BUFFER-PROPERTIES">
            <xsd:annotation>
               <xsd:documentation>Aggregation of the mandatory BufferProperties.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.bufferProperties";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="HAS-INTERNAL-STATE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This attribute defines whether the Transformer has an internal state or not.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.hasInternalState";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NEEDS-ORIGINAL-DATA" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Specifies whether this transformer gets access to the SWC's original data.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.needsOriginalData";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PROTOCOL" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Specifies the protocol that is implemented by this transformer.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.protocol";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMATION-DESCRIPTIONS">
            <xsd:annotation>
               <xsd:documentation>The upper multiplicity of this role has been increased to * due to resolving an atpVariation stereotype. The previous value was 1.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.transformationDescription";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="postBuild"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="END-TO-END-TRANSFORMATION-DESCRIPTION" type="AR:END-TO-END-TRANSFORMATION-DESCRIPTION"/>
                  <xsd:element name="SOMEIP-TRANSFORMATION-DESCRIPTION" type="AR:SOMEIP-TRANSFORMATION-DESCRIPTION"/>
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-DESCRIPTION" type="AR:USER-DEFINED-TRANSFORMATION-DESCRIPTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSFORMER-CLASS" type="AR:TRANSFORMER-CLASS-ENUM">
            <xsd:annotation>
               <xsd:documentation>Specifies to which transformer class this transformer belongs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.transformerClass";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>Version of the implemented protocol.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.version";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::TransformationTechnology -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSFORMATION-TECHNOLOGY">
      <xsd:annotation>
         <xsd:documentation>A TransformationTechnology is a transformer inside a transformer chain.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformationTechnology";xml.namePlural="TRANSFORMATION-TECHNOLOGIES"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-TECHNOLOGY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TRANSFORMATION-TECHNOLOGY--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TRANSFORMATION-TECHNOLOGY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class RTEEvents::TransformerHardErrorEvent -->
   <xsd:group name="TRANSFORMER-HARD-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when data are received which should trigger a Client/Server operation or an external trigger but during transformation of the data a hard transformer error occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformerHardErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-IREF" type="AR:P-OPERATION-IN-ATOMIC-SWC-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the ClientServerOperation to which the TransformerHardErrorEvent refers to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformerHardErrorEvent.operation";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-IREF" type="AR:P-TRIGGER-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>Trigger for which the transformer can trigger this TransformerHardErrorEvent</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransformerHardErrorEvent.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::TransformerHardErrorEvent -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSFORMER-HARD-ERROR-EVENT">
      <xsd:annotation>
         <xsd:documentation>The event is raised when data are received which should trigger a Client/Server operation or an external trigger but during transformation of the data a hard transformer error occurred.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformerHardErrorEvent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ABSTRACT-EVENT"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:RTE-EVENT"/>
         <xsd:group ref="AR:TRANSFORMER-HARD-ERROR-EVENT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::TransientFault -->
   <xsd:group name="TRANSIENT-FAULT">
      <xsd:annotation>
         <xsd:documentation>The reported failure is classified as runtime error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransientFault"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSSIBLE-ERROR-REACTIONS">
            <xsd:annotation>
               <xsd:documentation>Describes a possible error reactions for the transient fault handler.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransientFault.possibleErrorReaction";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POSSIBLE-ERROR-REACTION" type="AR:POSSIBLE-ERROR-REACTION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::TransientFault -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSIENT-FAULT">
      <xsd:annotation>
         <xsd:documentation>The reported failure is classified as runtime error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransientFault"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:TRACED-FAILURE"/>
         <xsd:group ref="AR:TRANSIENT-FAULT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Communication::TransmissionAcknowledgementRequest -->
   <xsd:group name="TRANSMISSION-ACKNOWLEDGEMENT-REQUEST">
      <xsd:annotation>
         <xsd:documentation>Requests transmission acknowledgement that data has been sent successfully. Success/failure is reported via a SendPoint of a RunnableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionAcknowledgementRequest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Number of seconds before an error is reported or in case of allowed redundancy, the value is sent again.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionAcknowledgementRequest.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Communication::TransmissionAcknowledgementRequest -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSMISSION-ACKNOWLEDGEMENT-REQUEST">
      <xsd:annotation>
         <xsd:documentation>Requests transmission acknowledgement that data has been sent successfully. Success/failure is reported via a SendPoint of a RunnableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionAcknowledgementRequest"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSMISSION-ACKNOWLEDGEMENT-REQUEST"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::TransmissionModeCondition -->
   <xsd:group name="TRANSMISSION-MODE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Possibility to attach a condition to each signal within an I-PDU.

If at least one condition evaluates to true, TRANSMISSION MODE True shall be used for this I-Pdu. In all other cases, the TRANSMISSION MODE FALSE shall be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-FILTER" type="AR:DATA-FILTER">
            <xsd:annotation>
               <xsd:documentation>Possibilities to define conditions</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeCondition.dataFilter";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="I-SIGNAL-IN-I-PDU-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to a signal to which a condition is attached.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeCondition.iSignalInIPdu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:I-SIGNAL-TO-I-PDU-MAPPING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::TransmissionModeCondition -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSMISSION-MODE-CONDITION">
      <xsd:annotation>
         <xsd:documentation>Possibility to attach a condition to each signal within an I-PDU.

If at least one condition evaluates to true, TRANSMISSION MODE True shall be used for this I-Pdu. In all other cases, the TRANSMISSION MODE FALSE shall be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSMISSION-MODE-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::TransmissionModeDeclaration -->
   <xsd:group name="TRANSMISSION-MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>AUTOSAR COM provides the possibility to define two different TRANSMISSION MODES (True and False) for each I-PDU.

As TransmissionMode selector the signal content can be evaluated via transmissionModeCondition (implemented directly in the COM module) or mode conditions can be defined with the modeDrivenTrueCondition or modeDrivenFalseCondition (evaluated by BswM and invoking Com_SwitchIpduTxMode COM API). If modeDrivenTrueCondition and modeDrivenFalseCondition are defined they shall never evaluate to true both at the same time. 

The mixing of Transmission Mode Switch via API and signal value is not allowed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DRIVEN-FALSE-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>Defines the trigger for the Com_SwitchIpduTxMode Transmission Mode switch. Only if all defined modeDrivenFalseConditions evaluate to true (AND associated) the transmissionModeFalseTiming shall be activated.  modeDrivenTrueCondition and modeDrivenFalseCondition shall never evaluate to true both at the same time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration.modeDrivenFalseCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DRIVEN-TRANSMISSION-MODE-CONDITION" type="AR:MODE-DRIVEN-TRANSMISSION-MODE-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DRIVEN-TRUE-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>Defines the trigger for the Com_SwitchIpduTxMode Transmission Mode switch. Only if all defined modeDrivenTrueConditions evaluate to true (AND associated) the transmissionModeTrueTiming shall be activated.  modeDrivenTrueCondition and modeDrivenFalseCondition shall never evaluate to true both at the same time.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration.modeDrivenTrueCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DRIVEN-TRANSMISSION-MODE-CONDITION" type="AR:MODE-DRIVEN-TRANSMISSION-MODE-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMISSION-MODE-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>The Transmission Mode Selector evaluates the conditions for a subset of signals and decides which transmission mode should be used. In case only one transmission mode is used there is no need for the "TransmissionModeCondition" and its sub-structure. In case the transmission mode shall be switched using the COM-API "Com_SwitchIpduTxMode" there is no need for the "TransmissionModeCondition" and its sub-structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration.transmissionModeCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRANSMISSION-MODE-CONDITION" type="AR:TRANSMISSION-MODE-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMISSION-MODE-FALSE-TIMING" type="AR:TRANSMISSION-MODE-TIMING">
            <xsd:annotation>
               <xsd:documentation>Timing Specification if the COM Transmission Mode is false.  
The Transmission Mode Selector is defined to be false, if all Conditions evaluate to false.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration.transmissionModeFalseTiming";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRANSMISSION-MODE-TRUE-TIMING" type="AR:TRANSMISSION-MODE-TIMING">
            <xsd:annotation>
               <xsd:documentation>Timing Specification if the COM Transmission Mode is true.  
The Transmission Mode Selector is defined to be true, if at least one Condition evaluates to true.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration.transmissionModeTrueTiming";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::TransmissionModeDeclaration -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSMISSION-MODE-DECLARATION">
      <xsd:annotation>
         <xsd:documentation>AUTOSAR COM provides the possibility to define two different TRANSMISSION MODES (True and False) for each I-PDU.

As TransmissionMode selector the signal content can be evaluated via transmissionModeCondition (implemented directly in the COM module) or mode conditions can be defined with the modeDrivenTrueCondition or modeDrivenFalseCondition (evaluated by BswM and invoking Com_SwitchIpduTxMode COM API). If modeDrivenTrueCondition and modeDrivenFalseCondition are defined they shall never evaluate to true both at the same time. 

The mixing of Transmission Mode Switch via API and signal value is not allowed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeDeclaration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSMISSION-MODE-DECLARATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Timing::TransmissionModeTiming -->
   <xsd:group name="TRANSMISSION-MODE-TIMING">
      <xsd:annotation>
         <xsd:documentation>If the COM Transmission Mode is false the timing is aggregated by the TransmissionModeTiming element in the role of transmissionModeFalseTiming. If the COM Transmission Mode is true the timing is aggregated by the TransmissionModeTiming element in the role of transmissionModeTrueTiming.  

COM supports the following Transmission Modes: 
Periodic (Cyclic Timing)
Direct /n-times (EventControlledTiming)
Mixed (Cyclic and EventControlledTiming are assigned)
None (no timing is assigned)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CYCLIC-TIMING" type="AR:CYCLIC-TIMING">
            <xsd:annotation>
               <xsd:documentation>Periodic Transmission Mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeTiming.cyclicTiming";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EVENT-CONTROLLED-TIMING" type="AR:EVENT-CONTROLLED-TIMING">
            <xsd:annotation>
               <xsd:documentation>Direct Transmission Mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeTiming.eventControlledTiming";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::TransmissionModeTiming -->
   <xsd:complexType abstract="false" mixed="false" name="TRANSMISSION-MODE-TIMING">
      <xsd:annotation>
         <xsd:documentation>If the COM Transmission Mode is false the timing is aggregated by the TransmissionModeTiming element in the role of transmissionModeFalseTiming. If the COM Transmission Mode is true the timing is aggregated by the TransmissionModeTiming element in the role of transmissionModeTrueTiming.  

COM supports the following Transmission Modes: 
Periodic (Cyclic Timing)
Direct /n-times (EventControlledTiming)
Mixed (Cyclic and EventControlledTiming are assigned)
None (no timing is assigned)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransmissionModeTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSMISSION-MODE-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::TransportProtocolConfiguration -->
   <xsd:group name="TRANSPORT-PROTOCOL-CONFIGURATION">
      <xsd:annotation>
         <xsd:documentation>Transport Protocol configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransportProtocolConfiguration"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class TriggerDeclaration::Trigger -->
   <xsd:group name="TRIGGER">
      <xsd:annotation>
         <xsd:documentation>A trigger which is provided (i.e. released) or required (i.e. used to activate something) in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Trigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-IMPL-POLICY" type="AR:SW-IMPL-POLICY-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute, when set to value queued, allows for a queued processing of Triggers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Trigger.swImplPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-PERIOD" type="AR:MULTIDIMENSIONAL-TIME">
            <xsd:annotation>
               <xsd:documentation>Optional definition of a period in case of a periodically (time or angle) driven external trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Trigger.triggerPeriod";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Trigger.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TriggerDeclaration::Trigger -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER">
      <xsd:annotation>
         <xsd:documentation>A trigger which is provided (i.e. released) or required (i.e. used to activate something) in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Trigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:TRIGGER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TRIGGER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TRIGGER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Timing::TriggerIPduSendCondition -->
   <xsd:group name="TRIGGER-I-PDU-SEND-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The condition defined by this class evaluates to true if one of the referenced modeDeclarations (OR associated) is active. All referenced modeDeclarations shall be from the same ModeDeclarationGroup.

The condition is used to define when the Pdu is triggered with the Com_TriggerIPDUSend API call.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerIPduSendCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MODE-DECLARATION-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to one modeDeclaration which is OR associated in the context of the TriggerIPduSendCondition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerIPduSendCondition.modeDeclaration";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="MODE-DECLARATION-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:MODE-DECLARATION--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::TriggerIPduSendCondition -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-I-PDU-SEND-CONDITION">
      <xsd:annotation>
         <xsd:documentation>The condition defined by this class evaluates to true if one of the referenced modeDeclarations (OR associated) is active. All referenced modeDeclarations shall be from the same ModeDeclarationGroup.

The condition is used to define when the Pdu is triggered with the Com_TriggerIPDUSend API call.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerIPduSendCondition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRIGGER-I-PDU-SEND-CONDITION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::TriggerInAtomicSwcInstanceRef -->
   <xsd:group name="TRIGGER-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <!-- Association <<atpDerived>>contextPort skipped -->
         <!-- Association <<atpDerived>>target skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class InstanceRefs::TriggerInSystemInstanceRef -->
   <xsd:group name="TRIGGER-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:documentation>This represents tha reference to the RootSwCompositiontype representing a context of the InstanceRef.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the set of context components. The association is ordered because it needs to respect the nesting order.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the PortPrototype in which the target Trigger is located.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInSystemInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the target Trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInSystemInstanceRef.targetTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::TriggerInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:TRIGGER-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::TriggerInterface -->
   <xsd:group name="TRIGGER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A trigger interface declares a number of triggers that can be sent by an trigger source.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="TriggerInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGERS">
            <xsd:annotation>
               <xsd:documentation>The Trigger of this trigger interface.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInterface.trigger";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER" type="AR:TRIGGER"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::TriggerInterface -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-INTERFACE">
      <xsd:annotation>
         <xsd:documentation>A trigger interface declares a number of triggers that can be sent by an trigger source.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="PortInterfaces";mmt.qualifiedName="TriggerInterface"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-TYPE"/>
         <xsd:group ref="AR:PORT-INTERFACE"/>
         <xsd:group ref="AR:TRIGGER-INTERFACE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::TriggerInterfaceMapping -->
   <xsd:group name="TRIGGER-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of unequal named Triggers in context of two different TriggerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Mapping of two Trigger in two different TriggerInterface</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInterfaceMapping.triggerMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TRIGGER-MAPPING" type="AR:TRIGGER-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::TriggerInterfaceMapping -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of unequal named Triggers in context of two different TriggerInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:PORT-INTERFACE-MAPPING"/>
         <xsd:group ref="AR:TRIGGER-INTERFACE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TriggerDeclaration::TriggerMapping -->
   <xsd:group name="TRIGGER-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular unequally named Triggers in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>A Trigger to be mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerMapping.firstTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>A Trigger to be mapped.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerMapping.secondTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TriggerDeclaration::TriggerMapping -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of two particular unequally named Triggers in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRIGGER-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ApplicationAttributes::TriggerPortAnnotation -->
   <xsd:group name="TRIGGER-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port used for calibration regarding a certain Trigger.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>The instance of annotated trigger.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerPortAnnotation.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ApplicationAttributes::TriggerPortAnnotation -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-PORT-ANNOTATION">
      <xsd:annotation>
         <xsd:documentation>Annotation to a port used for calibration regarding a certain Trigger.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerPortAnnotation"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:GENERAL-ANNOTATION"/>
         <xsd:group ref="AR:TRIGGER-PORT-ANNOTATION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TriggerDeclaration::TriggerRefConditional -->
   <xsd:group name="TRIGGER-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Trigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:TRIGGER--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerRefConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TriggerDeclaration::TriggerRefConditional -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-REF-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Trigger"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRIGGER-REF-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataMapping::TriggerToSignalMapping -->
   <xsd:group name="TRIGGER-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a trigger to a SystemSignal of size 0. The Trigger does not transport any other information than its existence, therefore the limitation in terms of signal length.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-IREF" type="AR:TRIGGER-IN-SYSTEM-INSTANCE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the Trigger that shall be used to trigger RunnableEntities deployed to a remote ECU.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerToSignalMapping.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SYSTEM-SIGNAL-REF">
            <xsd:annotation>
               <xsd:documentation>This is the SystemSignal taken to transport the Trigger over the network.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TriggerToSignalMapping.systemSignal";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SYSTEM-SIGNAL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataMapping::TriggerToSignalMapping -->
   <xsd:complexType abstract="false" mixed="false" name="TRIGGER-TO-SIGNAL-MAPPING">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to map a trigger to a SystemSignal of size 0. The Trigger does not transport any other information than its existence, therefore the limitation in terms of signal length.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerToSignalMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DATA-MAPPING"/>
         <xsd:group ref="AR:TRIGGER-TO-SIGNAL-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::Tt -->
   <xsd:group name="TT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express specific technical terms.  The kind of term is denoted in the attribute "type".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tt"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TERM" type="AR:STRING--SIMPLE">
            <xsd:annotation>
               <xsd:documentation>This is the term itself.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Tt.term";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="false";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class InlineTextElements::Tt -->
   <xsd:attributeGroup name="TT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express specific technical terms.  The kind of term is denoted in the attribute "type".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tt"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="TEX-RENDER" type="AR:STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute holds information how the content (represented by attribute "term") of the particular technical term is rendered using LaTeX. This allows to inject specific LaTeX commands such as \sep{}.  An example is to render "MyClass" as "My\sep{}Class".
Default is the value of the attribute "term".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tt.texRender";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="TYPE" type="AR:NMTOKEN-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This attribute specifies the type of the technical term. Values are such as "VARIABLE" "CALPRM". It is no longer an enum in order to support process specific extensions.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Tt.type";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class InlineTextElements::Tt -->
   <xsd:complexType name="TT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express specific technical terms.  The kind of term is denoted in the attribute "type".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Tt"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:TT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- element group for class TtcanCommunication::TtcanAbsolutelyScheduledTiming -->
   <xsd:group name="TTCAN-ABSOLUTELY-SCHEDULED-TIMING">
      <xsd:annotation>
         <xsd:documentation>Each frame in TTCAN is identified by its slot id and communication cycle. A description is provided by the usage of AbsolutelyScheduledTiming. 

A frame can be sent multiple times within one communication cycle. For describing this case multiple AbsolutelyScheduledTimings have to be used. The main use case would be that a frame is sent twice within one communication cycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanAbsolutelyScheduledTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMMUNICATION-CYCLE">
            <xsd:annotation>
               <xsd:documentation>The communication cycle where the frame is sent.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanAbsolutelyScheduledTiming.communicationCycle";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="CYCLE-COUNTER" type="AR:CYCLE-COUNTER"/>
                  <xsd:element name="CYCLE-REPETITION" type="AR:CYCLE-REPETITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-MARK" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Where FlexRay counts the slots in the static segment, TTCAN requires explicit Tx and Rx time marks.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanAbsolutelyScheduledTiming.timeMark";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER" type="AR:TTCAN-TRIGGER-TYPE">
            <xsd:annotation>
               <xsd:documentation>Trigger type for this time window.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanAbsolutelyScheduledTiming.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TtcanCommunication::TtcanAbsolutelyScheduledTiming -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-ABSOLUTELY-SCHEDULED-TIMING">
      <xsd:annotation>
         <xsd:documentation>Each frame in TTCAN is identified by its slot id and communication cycle. A description is provided by the usage of AbsolutelyScheduledTiming. 

A frame can be sent multiple times within one communication cycle. For describing this case multiple AbsolutelyScheduledTimings have to be used. The main use case would be that a frame is sent twice within one communication cycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanAbsolutelyScheduledTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TTCAN-ABSOLUTELY-SCHEDULED-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TtcanTopology::TtcanCluster -->
   <xsd:group name="TTCAN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="TtcanCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TTCAN-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCluster.TtcanClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TTCAN-CLUSTER-CONDITIONAL" type="AR:TTCAN-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TtcanTopology::TtcanCluster -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific cluster attributes.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="TtcanCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:ABSTRACT-CAN-CLUSTER"/>
         <xsd:group ref="AR:TTCAN-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="TTCAN-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TTCAN-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class TtcanTopology::TtcanClusterConditional -->
   <xsd:group name="TTCAN-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TtcanTopology::TtcanClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:TTCAN-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:TTCAN-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TtcanTopology::TtcanClusterContent -->
   <xsd:group name="TTCAN-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="BASIC-CYCLE-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Length of a basic-cycle. Unit: NTUs</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCluster.basicCycleLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NTU" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Unit measuring all times and providing a constant of the whole network. For level 1, this is always the CAN bit time. Unit: seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCluster.ntu";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OPERATION-MODE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Possible operation modes

True: Time-Triggered
False: Event-Synchronised-Time-Triggered</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCluster.operationMode";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TtcanTopology::TtcanCommunicationConnector -->
   <xsd:group name="TTCAN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific communication connector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class TtcanTopology::TtcanCommunicationConnector -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific communication connector attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:TTCAN-COMMUNICATION-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TtcanTopology::TtcanCommunicationController -->
   <xsd:group name="TTCAN-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TTCAN-COMMUNICATION-CONTROLLER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.TtcanCommunicationControllerVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="TTCAN-COMMUNICATION-CONTROLLER-CONDITIONAL" type="AR:TTCAN-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TtcanTopology::TtcanCommunicationController -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific communication port attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:TTCAN-COMMUNICATION-CONTROLLER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class TtcanTopology::TtcanCommunicationControllerConditional -->
   <xsd:group name="TTCAN-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationControllerConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class TtcanTopology::TtcanCommunicationControllerConditional -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:ABSTRACT-CAN-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:TTCAN-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:TTCAN-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class TtcanTopology::TtcanCommunicationControllerContent -->
   <xsd:group name="TTCAN-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="APPL-WATCHDOG-LIMIT" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The Appl_Watchdog_Limit shall be an 8-bit value specifying the period for the application watchdog in Appl_Watchdog_Limit times 256 NTUs.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.applWatchdogLimit";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXPECTED-TX-TRIGGER" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The Expected_Tx_Trigger shall be an eight (8) bit value which limits the number of messages the FSE may try to transmit in one matrix cycle.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.expectedTxTrigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="EXTERNAL-CLOCK-SYNCHRONISATION" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>One bit shall be used to configure whether or not external clock synchronisation will be allowed during runtime (only Level 2).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.externalClockSynchronisation";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="INITIAL-REF-OFFSET" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The Initial_Ref_Offset shall be an eight (8) bit value for the initialisation of Ref_Trigger_Offset.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.initialRefOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="MASTER" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>One bit shall be used to distinguish between (potential) time masters and time slaves. This can be derived from the frame-triggering's triggers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.master";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-MASTER-PRIORITY" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The time master priority shall contain a three bit value for the priority of the current time master (the last three bits of the identifier of the reference message). This can be derived from the frame-triggering's triggers.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.timeMasterPriority";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIME-TRIGGERED-CAN-LEVEL" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>One bit shall be used to distinguish between Level 1 and Level 2.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.timeTriggeredCanLevel";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TX-ENABLE-WINDOW-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>The length of the Tx_Enable window shall be a four (4) bit value specifying the length of the time period (1-16 nominal CAN bit times) in which a transmission may be started.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="TtcanCommunicationController.txEnableWindowLength";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class TtcanTopology::TtcanPhysicalChannel -->
   <xsd:group name="TTCAN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific physical channel attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class TtcanTopology::TtcanPhysicalChannel -->
   <xsd:complexType abstract="false" mixed="false" name="TTCAN-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>TTCAN bus specific physical channel attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:ABSTRACT-CAN-PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:TTCAN-PHYSICAL-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::UdpNmCluster -->
   <xsd:group name="UDP-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Udp specific NmCluster attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CBV-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the position of the control bit vector within the NmPdu (Byte positon).</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmCbvPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-CHANNEL-ACTIVE" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>This switch determines if the respective UdpNm channel is active or not. Indicates whether a particular UdpNm channel shall be initialized (TRUE) or not (FALSE).
If this parameter is set to FALSE the respective NM instance shall not be used during runtime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmChannelActive";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IMMEDIATE-NM-CYCLE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Defines the immediate NmPdu cycle time in seconds which is used for nmImmediateNmTransmissions NmPdu transmissions. This attribute is only valid if nmImmediateNmTransmissions is greater one.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmImmediateNmCycleTime";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IMMEDIATE-NM-TRANSMISSIONS" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the number of immediate NmPdus which shall be transmitted. If the value is zero no immediate NmPdus are transmitted. The cycle time of immediate NmPdus is defined by nmImmediateNmCycleTime.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmImmediateNmTransmissions";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MESSAGE-TIMEOUT-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout of a NmPdu in seconds. It determines how long the NM shall wait with notification of transmission failure while communication errors occur on the bus.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmMessageTimeoutTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MSG-CYCLE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Period of a NmPdu in seconds. It determines the periodic rate in the periodic transmission mode with bus load reduction and is the basis for transmit scheduling in the periodic transmission mode without bus load reduction.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmMsgCycleTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NETWORK-TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Network Timeout for NmPdus in seconds.
It denotes the time how long the UdpNm shall stay in the Network Mode before transition into Prepare Bus-Sleep Mode shall take place.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmNetworkTimeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-NID-POSITION" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the byte position of the source node identifier within the NmPdu.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmNidPosition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REMOTE-SLEEP-INDICATION-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for Remote Sleep Indication in seconds. It defines the time how long it shall take to recognize that all other nodes are ready to sleep.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmRemoteSleepIndicationTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MESSAGE-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for Repeat Message State in seconds. Defines the time how long the NM shall stay in the Repeat Message State.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmRepeatMessageTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-USER-DATA-LENGTH" type="AR:INTEGER">
            <xsd:annotation>
               <xsd:documentation>Defines the length of the user data contained in the NmPdu.

Please note that this attribute is deprecated and will be removed in future.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.3";mmt.qualifiedName="UdpNmCluster.nmUserDataLength";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-WAIT-BUS-SLEEP-TIME" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Timeout for bus calm down phase in seconds. It denotes the time how long the CanNm shall stay in the Prepare Bus-Sleep Mode before transition into Bus-Sleep Mode shall take place.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.nmWaitBusSleepTime";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN-REF">
            <xsd:annotation>
               <xsd:documentation>Reference to the vlan (represented by the EthernetPhysicalChannel) this UdpNmCluster shall apply to.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster.vlan";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ETHERNET-PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::UdpNmCluster -->
   <xsd:complexType abstract="false" mixed="false" name="UDP-NM-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>Udp specific NmCluster attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-CLUSTER"/>
         <xsd:group ref="AR:UDP-NM-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="UDP-NM-CLUSTER--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="UDP-NM-CLUSTER"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class NetworkManagement::UdpNmClusterCoupling -->
   <xsd:group name="UDP-NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>Udp attributes that are valid for each of the referenced (coupled) UdpNm clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COUPLED-CLUSTER-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to coupled UdpNm Clusters.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmClusterCoupling.coupledCluster";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="COUPLED-CLUSTER-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:UDP-NM-CLUSTER--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-BUS-LOAD-REDUCTION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables busload reduction support</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="UdpNmClusterCoupling.nmBusLoadReductionEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-IMMEDIATE-RESTART-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enables the asynchronous transmission of a CanNm PDU upon bus-communication request in Prepare-Bus-Sleep mode.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmClusterCoupling.nmImmediateRestartEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::UdpNmClusterCoupling -->
   <xsd:complexType abstract="false" mixed="false" name="UDP-NM-CLUSTER-COUPLING">
      <xsd:annotation>
         <xsd:documentation>Udp attributes that are valid for each of the referenced (coupled) UdpNm clusters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmClusterCoupling"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:NM-CLUSTER-COUPLING"/>
         <xsd:group ref="AR:UDP-NM-CLUSTER-COUPLING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::UdpNmEcu -->
   <xsd:group name="UDP-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>Udp NM specific ECU attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-REPEAT-MSG-INDICATION-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enable/disable the notification that a RepeatMessageRequest bit has been received.</xsd:documentation>
               <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="UdpNmEcu.nmRepeatMsgIndicationEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-SYNCHRONIZATION-POINT-ENABLED" type="AR:BOOLEAN">
            <xsd:annotation>
               <xsd:documentation>Enable/disable the NM Coordination algorithm to being able to initiate the
synchronization algorithm.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmEcu.nmSynchronizationPointEnabled";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::UdpNmEcu -->
   <xsd:complexType abstract="false" mixed="false" name="UDP-NM-ECU">
      <xsd:annotation>
         <xsd:documentation>Udp NM specific ECU attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmEcu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:BUSSPECIFIC-NM-ECU"/>
         <xsd:group ref="AR:UDP-NM-ECU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class NetworkManagement::UdpNmNode -->
   <xsd:group name="UDP-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>Udp specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NM-MSG-CYCLE-OFFSET" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Node specific time offset in the periodic transmission node. It determines the start delay of the transmission. Specified in seconds.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmNode.nmMsgCycleOffset";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class NetworkManagement::UdpNmNode -->
   <xsd:complexType abstract="false" mixed="false" name="UDP-NM-NODE">
      <xsd:annotation>
         <xsd:documentation>Udp specific NM Node attributes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpNmNode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:NM-NODE"/>
         <xsd:group ref="AR:UDP-NM-NODE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::UdpTp -->
   <xsd:group name="UDP-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for UDP configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="UDP-TP-PORT" type="AR:TP-PORT">
            <xsd:annotation>
               <xsd:documentation>Udp Port configuration.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UdpTp.udpTpPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::UdpTp -->
   <xsd:complexType abstract="false" mixed="false" name="UDP-TP">
      <xsd:annotation>
         <xsd:documentation>Content Model for UDP configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpTp"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSPORT-PROTOCOL-CONFIGURATION"/>
         <xsd:group ref="AR:TCP-UDP-CONFIG"/>
         <xsd:group ref="AR:UDP-TP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class LinCommunication::UnassignFrameId -->
   <xsd:group name="UNASSIGN-FRAME-ID">
      <xsd:annotation>
         <xsd:documentation>Schedule entry for an Unassign Frame Id master request where the protected identifier is assigned the value 0x40. This will disable reception/transmission of a previously dynamically assigned frame identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnassignFrameId"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MESSAGE-ID" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>MessageId of the referenced frame.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UnassignFrameId.messageId";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNASSIGNED-FRAME-TRIGGERING-REF">
            <xsd:annotation>
               <xsd:documentation>The frame whose identifier is reset by this assignment.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UnassignFrameId.unassignedFrameTriggering";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:LIN-FRAME-TRIGGERING--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class LinCommunication::UnassignFrameId -->
   <xsd:complexType abstract="false" mixed="false" name="UNASSIGN-FRAME-ID">
      <xsd:annotation>
         <xsd:documentation>Schedule entry for an Unassign Frame Id master request where the protected identifier is assigned the value 0x40. This will disable reception/transmission of a previously dynamically assigned frame identifier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnassignFrameId"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:SCHEDULE-TABLE-ENTRY"/>
         <xsd:group ref="AR:LIN-CONFIGURATION-ENTRY"/>
         <xsd:group ref="AR:UNASSIGN-FRAME-ID"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Units::Unit -->
   <xsd:group name="UNIT">
      <xsd:annotation>
         <xsd:documentation>This is a physical measurement unit. All units that might be defined should stem from SI units. In order to convert one unit into another factor and offset are defined. 

For the calculation from SI-unit to the defined unit the factor (factorSiToUnit ) and the offset
(offsetSiToUnit ) are applied as follows:

     x  [{unit}]  :=  y * [{siUnit}] * factorSiToUnit [[unit]/{siUnit}] + offsetSiToUnit [{unit}]  

For the calculation from a unit to SI-unit the reciprocal of the factor (factorSiToUnit ) and the negation of the offset (offsetSiToUnit ) are applied. 
 
    y {siUnit} := (x*{unit} - offsetSiToUnit [{unit}]) / (factorSiToUnit [[unit]/{siUnit}]</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Units";mmt.qualifiedName="Unit"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DISPLAY-NAME" type="AR:SINGLE-LANGUAGE-UNIT-NAMES">
            <xsd:annotation>
               <xsd:documentation>This specifies how the unit shall be displayed in documents or in user interfaces of tools.The displayName corresponds to the Unit.Display in an ASAM MCD-2MC file.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Unit.displayName";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FACTOR-SI-TO-UNIT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>This is the factor for the conversion from SI Units to units. 

The inverse is used for conversion from units to SI Units.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Unit.factorSiToUnit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="OFFSET-SI-TO-UNIT" type="AR:FLOAT">
            <xsd:annotation>
               <xsd:documentation>This is the offset for the conversion from and to siUnits.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Unit.offsetSiToUnit";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PHYSICAL-DIMENSION-REF">
            <xsd:annotation>
               <xsd:documentation>This association represents the physical dimension to which the unit belongs to. Note that only values with units of the same physical dimensions might be converted.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Unit.physicalDimension";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PHYSICAL-DIMENSION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Units::Unit -->
   <xsd:complexType abstract="false" mixed="false" name="UNIT">
      <xsd:annotation>
         <xsd:documentation>This is a physical measurement unit. All units that might be defined should stem from SI units. In order to convert one unit into another factor and offset are defined. 

For the calculation from SI-unit to the defined unit the factor (factorSiToUnit ) and the offset
(offsetSiToUnit ) are applied as follows:

     x  [{unit}]  :=  y * [{siUnit}] * factorSiToUnit [[unit]/{siUnit}] + offsetSiToUnit [{unit}]  

For the calculation from a unit to SI-unit the reciprocal of the factor (factorSiToUnit ) and the negation of the offset (offsetSiToUnit ) are applied. 
 
    y {siUnit} := (x*{unit} - offsetSiToUnit [{unit}]) / (factorSiToUnit [[unit]/{siUnit}]</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Units";mmt.qualifiedName="Unit"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:UNIT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="UNIT--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="UNIT"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Units::UnitGroup -->
   <xsd:group name="UNIT-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a logical grouping of units.The category denotes the unit system that the referenced units are associated to. 

In this way, e.g. country-specific unit systems (CATEGORY="COUNTRY") can be defined as well as specific unit systems for certain application domains. 

In the same way a group of equivalent units, can be defined which are used in different countries, by setting CATEGORY="EQUIV_UNITS".  KmPerHour and MilesPerHour could such be combined to one group named "vehicle_speed". The unit MeterPerSec would not belong to this group because it is normally not used for vehicle speed. But all of the mentioned units could be combined to one group named "speed".

Note that the UnitGroup does not ensure the physical compliance of the units. This is maintained by the physical dimension.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="UnitGroups";mmt.qualifiedName="UnitGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="UNIT-REFS">
            <xsd:annotation>
               <xsd:documentation>This represents one particular unit in the UnitGroup.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UnitGroup.unit";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="UNIT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:UNIT--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Units::UnitGroup -->
   <xsd:complexType abstract="false" mixed="false" name="UNIT-GROUP">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to specify a logical grouping of units.The category denotes the unit system that the referenced units are associated to. 

In this way, e.g. country-specific unit systems (CATEGORY="COUNTRY") can be defined as well as specific unit systems for certain application domains. 

In the same way a group of equivalent units, can be defined which are used in different countries, by setting CATEGORY="EQUIV_UNITS".  KmPerHour and MilesPerHour could such be combined to one group named "vehicle_speed". The unit MeterPerSec would not belong to this group because it is normally not used for vehicle speed. But all of the mentioned units could be combined to one group named "speed".

Note that the UnitGroup does not ensure the physical compliance of the units. This is maintained by the physical dimension.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="UnitGroups";mmt.qualifiedName="UnitGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:UNIT-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="UNIT-GROUP--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="UNIT-GROUP"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class AttributeValueVariationPoints::UnlimitedIntegerValueVariationPoint -->
   <xsd:group name="UNLIMITED-INTEGER-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for unlimited Integer attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnlimitedIntegerValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class AttributeValueVariationPoints::UnlimitedIntegerValueVariationPoint -->
   <xsd:complexType abstract="false" mixed="true" name="UNLIMITED-INTEGER-VALUE-VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This class represents an attribute value variation point for unlimited Integer attributes.

Note that this class might be used in the extended meta-model only.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnlimitedIntegerValueVariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixedString,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:FORMULA-EXPRESSION"/>
         <xsd:group ref="AR:SW-SYSTEMCONST-DEPENDENT-FORMULA"/>
         <xsd:group ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
         <xsd:group ref="AR:UNLIMITED-INTEGER-VALUE-VARIATION-POINT"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:ATTRIBUTE-VALUE-VARIATION-POINT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::UnresolvedReferenceRestrictionWithSeverity -->
   <xsd:group name="UNRESOLVED-REFERENCE-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>This restriction defines the severity level of unresolved references.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnresolvedReferenceRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::UnresolvedReferenceRestrictionWithSeverity -->
   <xsd:complexType abstract="false" mixed="false" name="UNRESOLVED-REFERENCE-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>This restriction defines the severity level of unresolved references.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnresolvedReferenceRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RESTRICTION-WITH-SEVERITY"/>
         <xsd:group ref="AR:UNRESOLVED-REFERENCE-RESTRICTION-WITH-SEVERITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class BlockElements::Url -->
   <xsd:group name="URL">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies an Uniform Resource Locator (URL).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Url"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE" type="AR:URI-STRING--SIMPLE">
            <xsd:annotation>
               <xsd:documentation>This is the url itself</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Url.value";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.roleElement="false";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class BlockElements::Url -->
   <xsd:attributeGroup name="URL">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies an Uniform Resource Locator (URL).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Url"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="MIME-TYPE" type="AR:MIME-TYPE-STRING--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>this denotes the mime type of the resource located by the url.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Url.mimeType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class BlockElements::Url -->
   <xsd:complexType name="URL">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies an Uniform Resource Locator (URL).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Url"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:URI-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:URL"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedCluster -->
   <xsd:group name="USER-DEFINED-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Communication Clusters (e.g. bus systems that are not supported by AUTOSAR).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="UserDefinedCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="USER-DEFINED-CLUSTER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCluster.UserDefinedClusterVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="USER-DEFINED-CLUSTER-CONDITIONAL" type="AR:USER-DEFINED-CLUSTER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CddSupport::UserDefinedCluster -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-CLUSTER">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Communication Clusters (e.g. bus systems that are not supported by AUTOSAR).</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="CommunicationClusters";mmt.qualifiedName="UserDefinedCluster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER"/>
         <xsd:group ref="AR:USER-DEFINED-CLUSTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedClusterConditional -->
   <xsd:group name="USER-DEFINED-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedClusterConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CddSupport::UserDefinedClusterConditional -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-CLUSTER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedClusterConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:USER-DEFINED-CLUSTER-CONTENT"/>
         <xsd:group ref="AR:USER-DEFINED-CLUSTER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedClusterContent -->
   <xsd:group name="USER-DEFINED-CLUSTER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedClusterContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class CddSupport::UserDefinedCommunicationConnector -->
   <xsd:group name="USER-DEFINED-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Communication Connectors.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CddSupport::UserDefinedCommunicationConnector -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-COMMUNICATION-CONNECTOR">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Communication Connectors.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationConnector"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONNECTOR"/>
         <xsd:group ref="AR:USER-DEFINED-COMMUNICATION-CONNECTOR"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedCommunicationController -->
   <xsd:group name="USER-DEFINED-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Communication Controllers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="USER-DEFINED-COMMUNICATION-CONTROLLER-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationController.UserDefinedCommunicationControllerVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="USER-DEFINED-COMMUNICATION-CONTROLLER-CONDITIONAL" type="AR:USER-DEFINED-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CddSupport::UserDefinedCommunicationController -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-COMMUNICATION-CONTROLLER">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Communication Controllers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationController"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER"/>
         <xsd:group ref="AR:USER-DEFINED-COMMUNICATION-CONTROLLER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedCommunicationControllerConditional -->
   <xsd:group name="USER-DEFINED-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationControllerConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CddSupport::UserDefinedCommunicationControllerConditional -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-COMMUNICATION-CONTROLLER-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationControllerConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:USER-DEFINED-COMMUNICATION-CONTROLLER-CONTENT"/>
         <xsd:group ref="AR:USER-DEFINED-COMMUNICATION-CONTROLLER-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedCommunicationControllerContent -->
   <xsd:group name="USER-DEFINED-COMMUNICATION-CONTROLLER-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedCommunicationControllerContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class EthernetCommunication::UserDefinedEthernetFrame -->
   <xsd:group name="USER-DEFINED-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>UserDefinedEthernetFrame allows the description of a frame-based communication to Complex Drivers that are located above the EthDrv.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="UserDefinedEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class EthernetCommunication::UserDefinedEthernetFrame -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-ETHERNET-FRAME">
      <xsd:annotation>
         <xsd:documentation>UserDefinedEthernetFrame allows the description of a frame-based communication to Complex Drivers that are located above the EthDrv.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Frames";mmt.qualifiedName="UserDefinedEthernetFrame"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:FRAME"/>
         <xsd:group ref="AR:ABSTRACT-ETHERNET-FRAME"/>
         <xsd:group ref="AR:USER-DEFINED-ETHERNET-FRAME"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class UserDefined::UserDefinedGlobalTimeMaster -->
   <xsd:group name="USER-DEFINED-GLOBAL-TIME-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for user defined communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedGlobalTimeMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class UserDefined::UserDefinedGlobalTimeMaster -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-GLOBAL-TIME-MASTER">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeMaster for user defined communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedGlobalTimeMaster"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-MASTER"/>
         <xsd:group ref="AR:USER-DEFINED-GLOBAL-TIME-MASTER"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class UserDefined::UserDefinedGlobalTimeSlave -->
   <xsd:group name="USER-DEFINED-GLOBAL-TIME-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for user defined communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedGlobalTimeSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class UserDefined::UserDefinedGlobalTimeSlave -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-GLOBAL-TIME-SLAVE">
      <xsd:annotation>
         <xsd:documentation>This represents the specialization of the GlobalTimeSlave for user defined communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedGlobalTimeSlave"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:GLOBAL-TIME-SLAVE"/>
         <xsd:group ref="AR:USER-DEFINED-GLOBAL-TIME-SLAVE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::UserDefinedIPdu -->
   <xsd:group name="USER-DEFINED-I-PDU">
      <xsd:annotation>
         <xsd:documentation>UserDefinedIPdu allows to describe PDU-based communication over Complex Drivers. If a new BSW module is added above the PduR (e.g. a Diagnostic Service ) then this IPdu element shall be used to describe the communication.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="UserDefinedIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CDD-TYPE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the CDD that transmits or receives the UserDefinedPdu. If several CDDs are defined this attribute is used to distinguish between them.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedIPdu.cddType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::UserDefinedIPdu -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-I-PDU">
      <xsd:annotation>
         <xsd:documentation>UserDefinedIPdu allows to describe PDU-based communication over Complex Drivers. If a new BSW module is added above the PduR (e.g. a Diagnostic Service ) then this IPdu element shall be used to describe the communication.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="UserDefinedIPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:USER-DEFINED-I-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::UserDefinedPdu -->
   <xsd:group name="USER-DEFINED-PDU">
      <xsd:annotation>
         <xsd:documentation>UserDefinedPdu allows to describe PDU-based communication over Complex Drivers. If a new BSW module is added above the BusIf (e.g. a new Nm module) then this Pdu element shall be used to describe the communication.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="UserDefinedPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CDD-TYPE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This attribute defines the CDD that transmits or receives the UserDefinedIPdu. If several CDDs are defined this attribute is used to distinguish between them.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedPdu.cddType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CoreCommunication::UserDefinedPdu -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-PDU">
      <xsd:annotation>
         <xsd:documentation>UserDefinedPdu allows to describe PDU-based communication over Complex Drivers. If a new BSW module is added above the BusIf (e.g. a new Nm module) then this Pdu element shall be used to describe the communication.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="Pdus";mmt.qualifiedName="UserDefinedPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:USER-DEFINED-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CddSupport::UserDefinedPhysicalChannel -->
   <xsd:group name="USER-DEFINED-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Physical Channels.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CddSupport::UserDefinedPhysicalChannel -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-PHYSICAL-CHANNEL">
      <xsd:annotation>
         <xsd:documentation>This element allows the modeling of arbitrary Physical Channels.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedPhysicalChannel"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:PHYSICAL-CHANNEL"/>
         <xsd:group ref="AR:USER-DEFINED-PHYSICAL-CHANNEL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class Communication::UserDefinedTransformationComSpecProps -->
   <xsd:group name="USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS">
      <xsd:annotation>
         <xsd:documentation>The UserDefinedTransformationComSpecProps is used to specify port specific configuration properties for custom transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationComSpecProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Communication::UserDefinedTransformationComSpecProps -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS">
      <xsd:annotation>
         <xsd:documentation>The UserDefinedTransformationComSpecProps is used to specify port specific configuration properties for custom transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationComSpecProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-COM-SPEC-PROPS"/>
         <xsd:group ref="AR:USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::UserDefinedTransformationDescription -->
   <xsd:group name="USER-DEFINED-TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>The UserDefinedTransformationDescription is used to specify details and documentation for custom transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class Transformer::UserDefinedTransformationDescription -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-TRANSFORMATION-DESCRIPTION">
      <xsd:annotation>
         <xsd:documentation>The UserDefinedTransformationDescription is used to specify details and documentation for custom transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationDescription"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-DESCRIPTION"/>
         <xsd:group ref="AR:USER-DEFINED-TRANSFORMATION-DESCRIPTION"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::UserDefinedTransformationISignalProps -->
   <xsd:group name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>The UserDefinedTransformationISignalProps is used to specify ISignal specific configuration properties for custom transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-VARIANTS">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalProps.UserDefinedTransformationISignalPropsVariant";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL" type="AR:USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::UserDefinedTransformationISignalProps -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS">
      <xsd:annotation>
         <xsd:documentation>The UserDefinedTransformationISignalProps is used to specify ISignal specific configuration properties for custom transformers.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalProps"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:DESCRIBABLE"/>
         <xsd:group ref="AR:TRANSFORMATION-I-SIGNAL-PROPS"/>
         <xsd:group ref="AR:USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::UserDefinedTransformationISignalPropsConditional -->
   <xsd:group name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalPropsConditional.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Transformer::UserDefinedTransformationISignalPropsConditional -->
   <xsd:complexType abstract="false" mixed="false" name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalPropsConditional"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:TRANSFORMATION-I-SIGNAL-PROPS-CONTENT"/>
         <xsd:group ref="AR:USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONTENT"/>
         <xsd:group ref="AR:USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONDITIONAL"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Transformer::UserDefinedTransformationISignalPropsContent -->
   <xsd:group name="USER-DEFINED-TRANSFORMATION-I-SIGNAL-PROPS-CONTENT">
      <xsd:annotation>
         <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UserDefinedTransformationISignalPropsContent"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- element group for class ServiceNeeds::V2xFacUserNeeds -->
   <xsd:group name="V-2-X-FAC-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define service needs for V2x facilities.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="V2xFacUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::V2xFacUserNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="V-2-X-FAC-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define service needs for V2x facilities.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="V2xFacUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:V-2-X-FAC-USER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::V2xMUserNeeds -->
   <xsd:group name="V-2-X-M-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express service needs for the V2x management.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="V2xMUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::V2xMUserNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="V-2-X-M-USER-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express service needs for the V2x management.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="V2xMUserNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:V-2-X-M-USER-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CalibrationValue::ValueGroup -->
   <xsd:group name="VALUE-GROUP">
      <xsd:annotation>
         <xsd:documentation>This element enables valules  to be grouped. It can be used to perform row and column-orientated groupings, so that these can be rendered properly e.g. as a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LABEL" type="AR:MULTILANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This label allows to give the valueGroup a partiluclar name. It can be usel if the Values are rendered as a table.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ValueGroup.label";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:choice maxOccurs="1" minOccurs="0">
            <xsd:group ref="AR:SW-VALUES"/>
         </xsd:choice>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class CalibrationValue::ValueGroup -->
   <xsd:complexType abstract="false" mixed="false" name="VALUE-GROUP">
      <xsd:annotation>
         <xsd:documentation>This element enables valules  to be grouped. It can be used to perform row and column-orientated groupings, so that these can be rendered properly e.g. as a table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueGroup"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-GROUP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataDefProperties::ValueList -->
   <xsd:group name="VALUE-LIST">
      <xsd:annotation>
         <xsd:documentation>This is a generic list of numerical values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice>
         <xsd:choice maxOccurs="unbounded" minOccurs="0">
            <xsd:element name="VF" type="AR:NUMERICAL-VALUE-VARIATION-POINT">
               <xsd:annotation>
                  <xsd:documentation>This is one entry in the list of numerical values</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="ValueList.vf";pureMM.maxOccurs="-1";pureMM.minOccurs="0";vh.latestBindingTime="preCompileTime";xml.roleElement="true";xml.roleWrapperElement="false";xml.typeElement="false";xml.typeWrapperElement="false"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
            <xsd:element name="V" type="AR:NUMERICAL-VALUE">
               <xsd:annotation>
                  <xsd:documentation>This is a particular numerical value without variation.</xsd:documentation>
                  <xsd:appinfo source="tags">mmt.qualifiedName="ValueList.v";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
               </xsd:annotation>
            </xsd:element>
         </xsd:choice>
      </xsd:choice>
   </xsd:group>
   <!-- complex type for class DataDefProperties::ValueList -->
   <xsd:complexType abstract="false" mixed="false" name="VALUE-LIST">
      <xsd:annotation>
         <xsd:documentation>This is a generic list of numerical values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueList"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpMixed,atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VALUE-LIST"/>
      </xsd:choice>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::ValueRestrictionWithSeverity -->
   <xsd:group name="VALUE-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>Specifies valid values of primitive data types. A value is valid if all rules defined by this ValueRestriction evaluate to true.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::ValueRestrictionWithSeverity -->
   <xsd:complexType abstract="false" mixed="false" name="VALUE-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>Specifies valid values of primitive data types. A value is valid if all rules defined by this ValueRestriction evaluate to true.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RESTRICTION-WITH-SEVERITY"/>
         <xsd:group ref="AR:ABSTRACT-VALUE-RESTRICTION"/>
         <xsd:group ref="AR:VALUE-RESTRICTION-WITH-SEVERITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class Constants::ValueSpecification -->
   <xsd:group name="VALUE-SPECIFICATION">
      <xsd:annotation>
         <xsd:documentation>Base class for expressions leading to a value which can be used to initialize a data object.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValueSpecification"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This can be used to identify particular value specifications for human readers, for example elements of a record type.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ValueSpecification.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ValueSpecification.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class DataElements::VariableAccess -->
   <xsd:group name="VARIABLE-ACCESS">
      <xsd:annotation>
         <xsd:documentation>The presence of a VariableAccess implies that a RunnableEntity needs access to a VariableDataPrototype. 

The kind of access is specified by the role in which the class is used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ACCESSED-VARIABLE" type="AR:AUTOSAR-VARIABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This denotes the accessed variable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccess.accessedVariable";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SCOPE" type="AR:VARIABLE-ACCESS-SCOPE-ENUM">
            <xsd:annotation>
               <xsd:documentation>This attribute allows for constraining the scope of the corresponding communication. For example, it possible to express whether the communication is intended to cross the boundary of an ECU or whether it is intended not to cross the boundary of a single partition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccess.scope";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccess.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataElements::VariableAccess -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-ACCESS">
      <xsd:annotation>
         <xsd:documentation>The presence of a VariableAccess implies that a RunnableEntity needs access to a VariableDataPrototype. 

The kind of access is specified by the role in which the class is used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccess"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-CLASSIFIER"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-STRUCTURE-ELEMENT"/>
         <xsd:group ref="AR:ABSTRACT-ACCESS-POINT"/>
         <xsd:group ref="AR:VARIABLE-ACCESS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="VARIABLE-ACCESS--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="VARIABLE-ACCESS"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRefs::VariableAccessInEcuInstanceRef -->
   <xsd:group name="VARIABLE-ACCESS-IN-ECU-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccessInEcuInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-ROOT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccessInEcuInstanceRef.contextRootComposition";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-ATOMIC-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccessInEcuInstanceRef.contextAtomicComponent";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-VARIABLE-ACCESS-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccessInEcuInstanceRef.targetVariableAccess";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-ACCESS--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::VariableAccessInEcuInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-ACCESS-IN-ECU-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccessInEcuInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:VARIABLE-ACCESS-IN-ECU-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class PortInterface::VariableAndParameterInterfaceMapping -->
   <xsd:group name="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of VariableDataPrototypes or ParameterDataPrototypes in context of two different SenderReceiverInterfaces, NvDataInterfaces or ParameterInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAndParameterInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATA-MAPPINGS">
            <xsd:annotation>
               <xsd:documentation>Defines the mapping of two particular VariableDataPrototypes or ParameterDataPrototypes with unequal names and/or unequal semantic (resolution or range) in context of two different SenderReceiverInterfaces, NvDataInterfaces or ParameterInterfaces</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableAndParameterInterfaceMapping.dataMapping";pureMM.maxOccurs="-1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="DATA-PROTOTYPE-MAPPING" type="AR:DATA-PROTOTYPE-MAPPING"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class PortInterface::VariableAndParameterInterfaceMapping -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-AND-PARAMETER-INTERFACE-MAPPING">
      <xsd:annotation>
         <xsd:documentation>Defines the mapping of VariableDataPrototypes or ParameterDataPrototypes in context of two different SenderReceiverInterfaces, NvDataInterfaces or ParameterInterfaces.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAndParameterInterfaceMapping"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:PORT-INTERFACE-MAPPING"/>
         <xsd:group ref="AR:VARIABLE-AND-PARAMETER-INTERFACE-MAPPING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataPrototypes::VariableDataPrototype -->
   <xsd:group name="VARIABLE-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>A VariableDataPrototype is used to contain values in an ECU application. This means that most likely a VariableDataPrototype allocates "static" memory on the  ECU. In some cases optimization strategies might lead to a situation where the  memory allocation can be avoided.

In particular, the value of a VariableDataPrototype is likely to change as the ECU on which it is used executes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="INIT-VALUE">
            <xsd:annotation>
               <xsd:documentation>Specifies initial value(s) of the VariableDataPrototype</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototype.initValue";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="APPLICATION-RULE-BASED-VALUE-SPECIFICATION" type="AR:APPLICATION-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="APPLICATION-VALUE-SPECIFICATION" type="AR:APPLICATION-VALUE-SPECIFICATION"/>
                  <xsd:element name="ARRAY-VALUE-SPECIFICATION" type="AR:ARRAY-VALUE-SPECIFICATION"/>
                  <xsd:element name="COMPOSITE-RULE-BASED-VALUE-SPECIFICATION" type="AR:COMPOSITE-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="CONSTANT-REFERENCE" type="AR:CONSTANT-REFERENCE"/>
                  <xsd:element name="NUMERICAL-RULE-BASED-VALUE-SPECIFICATION" type="AR:NUMERICAL-RULE-BASED-VALUE-SPECIFICATION"/>
                  <xsd:element name="NUMERICAL-VALUE-SPECIFICATION" type="AR:NUMERICAL-VALUE-SPECIFICATION"/>
                  <xsd:element name="RECORD-VALUE-SPECIFICATION" type="AR:RECORD-VALUE-SPECIFICATION"/>
                  <xsd:element name="REFERENCE-VALUE-SPECIFICATION" type="AR:REFERENCE-VALUE-SPECIFICATION"/>
                  <xsd:element name="TEXT-VALUE-SPECIFICATION" type="AR:TEXT-VALUE-SPECIFICATION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototype.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class DataPrototypes::VariableDataPrototype -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-DATA-PROTOTYPE">
      <xsd:annotation>
         <xsd:documentation>A VariableDataPrototype is used to contain values in an ECU application. This means that most likely a VariableDataPrototype allocates "static" memory on the  ECU. In some cases optimization strategies might lead to a situation where the  memory allocation can be avoided.

In particular, the value of a VariableDataPrototype is likely to change as the ECU on which it is used executes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototype"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-FEATURE"/>
         <xsd:group ref="AR:ATP-PROTOTYPE"/>
         <xsd:group ref="AR:DATA-PROTOTYPE"/>
         <xsd:group ref="AR:AUTOSAR-DATA-PROTOTYPE"/>
         <xsd:group ref="AR:VARIABLE-DATA-PROTOTYPE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:simpleType name="VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class InstanceRef::VariableDataPrototypeInCompositionInstanceRef -->
   <xsd:group name="VARIABLE-DATA-PROTOTYPE-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a VariableDataPrototype in the context of a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-SW-COMPONENT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the nested structure of SwComponentPrototypes.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInCompositionInstanceRef.contextSwComponentPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents a reference to a context PortPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInCompositionInstanceRef.contextPortPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-VARIABLE-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the target VariableDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInCompositionInstanceRef.targetVariableDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VARIATION-POINT" type="AR:VARIATION-POINT">
            <xsd:annotation>
               <xsd:documentation>This element was generated/modified due to an atpVariation stereotype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInCompositionInstanceRef.variationPoint";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10000"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRef::VariableDataPrototypeInCompositionInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-DATA-PROTOTYPE-IN-COMPOSITION-INSTANCE-REF">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define an InstanceRef to a VariableDataPrototype in the context of a CompositionSwComponentType.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInCompositionInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:VARIABLE-DATA-PROTOTYPE-IN-COMPOSITION-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::VariableDataPrototypeInSystemInstanceRef -->
   <xsd:group name="VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInSystemInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-COMPOSITION-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInSystemInstanceRef.contextComposition";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ROOT-SW-COMPOSITION-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInSystemInstanceRef.contextPort";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInSystemInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::VariableDataPrototypeInSystemInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableDataPrototypeInSystemInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:VARIABLE-DATA-PROTOTYPE-IN-SYSTEM-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefsUsage::VariableInAtomicSWCTypeInstanceRef -->
   <xsd:group name="VARIABLE-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSWCTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="1" minOccurs="0" name="PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the port providing the paramter or the entry point to the parameter structure.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSWCTypeInstanceRef.portPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-VARIABLE-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSWCTypeInstanceRef.rootVariableDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This ist the context in a compositeDataType.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSWCTypeInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This is the target of the instance ref. Note that it shall be one of ApplicationCompositeElementDataPrototype of VariableDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSWCTypeInstanceRef.targetDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefsUsage::VariableInAtomicSWCTypeInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-IN-ATOMIC-SWC-TYPE-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSWCTypeInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:VARIABLE-IN-ATOMIC-SWC-TYPE-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InstanceRefs::VariableInAtomicSwcInstanceRef -->
   <xsd:group name="VARIABLE-IN-ATOMIC-SWC-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableInAtomicSwcInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <!-- Association <<atpDerived>>contextPort skipped -->
         <!-- Association <<atpDerived>>abstractTargetDataElement skipped -->
      </xsd:sequence>
   </xsd:group>
   <!-- element group for class InstanceRefs::VariableInComponentInstanceRef -->
   <xsd:group name="VARIABLE-IN-COMPONENT-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <!-- Association <<atpDerived>>base skipped -->
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-COMPONENT-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef.contextComponent";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONTEXT-PORT-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef.contextPortPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:PORT-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROOT-VARIABLE-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef.rootVariableDataPrototype";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:VARIABLE-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="CONTEXT-DATA-PROTOTYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef.contextDataPrototype";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:APPLICATION-COMPOSITE-ELEMENT-DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TARGET-DATA-PROTOYPE-REF">
            <xsd:annotation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef.targetDataProtoype";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:DATA-PROTOTYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InstanceRefs::VariableInComponentInstanceRef -->
   <xsd:complexType abstract="false" mixed="false" name="VARIABLE-IN-COMPONENT-INSTANCE-REF">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableInComponentInstanceRef"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,instanceRef</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:ATP-INSTANCE-REF"/>
         <xsd:group ref="AR:VARIABLE-IN-COMPONENT-INSTANCE-REF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::VariationPoint -->
   <xsd:group name="VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a "structural variation point". The container of the variation point is part of the selected variant if swSyscond evaluates to true and each postBuildVariantCriterion is fulfilled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="SHORT-LABEL" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This provides a name to the particular variation point to support the RTE generator. It is necessary for supporting splitable aggregations and if binding time is later than codeGenerationTime, as well as some RTE conditions. It needs to be unique with in the enclosing Identifiables with the same ShortName.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.shortLabel";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DESC" type="AR:MULTI-LANGUAGE-OVERVIEW-PARAGRAPH">
            <xsd:annotation>
               <xsd:documentation>This allows to describe shortly the purpose of the variation point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.desc";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="BLUEPRINT-CONDITION" type="AR:DOCUMENTATION-BLOCK">
            <xsd:annotation>
               <xsd:documentation>This represents a description that documents how the variation point shall be resolved when deriving objects from the blueprint.

Note that variationPoints are not allowed within a blueprintCondition.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.blueprintCondition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="28"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FORMAL-BLUEPRINT-CONDITION" type="AR:BLUEPRINT-FORMULA">
            <xsd:annotation>
               <xsd:documentation>This denotes a formal blueprintCondition. This shall be not in contradiction with blueprintCondition. It is recommanded only to use one of the two.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.formalBlueprintCondition";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="29"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SW-SYSCOND" type="AR:CONDITION-BY-FORMULA">
            <xsd:annotation>
               <xsd:documentation>This condition acts as Binding Function for the VariationPoint.
Note that the mulitplicity is 0..1 in order to support pure postBuild variants.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.swSyscond";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>This is the set of post build variant conditions which all  shall be fulfilled in order to (postbuild) bind the variation point.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.postBuildVariantCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POST-BUILD-VARIANT-CONDITION" type="AR:POST-BUILD-VARIANT-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SDG" type="AR:SDG">
            <xsd:annotation>
               <xsd:documentation>An optional special data group is attached to every variation point. These data can be used by external software systems to attach application specific data. For example, a variant management system might add an identifier, an URL or a specific classifier.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint.sdg";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::VariationPoint -->
   <xsd:complexType abstract="false" mixed="false" name="VARIATION-POINT">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to express a "structural variation point". The container of the variation point is part of the selected variant if swSyscond evaluates to true and each postBuildVariantCriterion is fulfilled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariationPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VARIATION-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class VariantHandling::VariationPointProxy -->
   <xsd:group name="VARIATION-POINT-PROXY">
      <xsd:annotation>
         <xsd:documentation>The VariationPointProxy represents variation points of the C/C++ implementation. In case of bindingTime = compileTime the RTE provides defines which can be used for Pre Processor directives to implement compileTime variability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="CONDITION-ACCESS" type="AR:CONDITION-BY-FORMULA">
            <xsd:annotation>
               <xsd:documentation>This condition acts as Binding Function for the VariationPoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy.conditionAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="IMPLEMENTATION-DATA-TYPE-REF">
            <xsd:annotation>
               <xsd:documentation>This association to ImplementationDataType shall be taken as an implementation hint by the RTE generator.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy.implementationDataType";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:IMPLEMENTATION-DATA-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VALUE-ACCESS-REF">
            <xsd:annotation>
               <xsd:documentation>This represents the applicable PostBuildVariantCriterion in the context of a VariationPointProxy.

Note that the technical details how to access the particular postBuildValueAccess are still considered internal to the RTE and are consequently not standardized.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy.postBuildValueAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:POST-BUILD-VARIANT-CRITERION--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POST-BUILD-VARIANT-CONDITIONS">
            <xsd:annotation>
               <xsd:documentation>This represents that applicable PostBuoldVariantCondition in the context of aVariationPointProxy.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy.postBuildVariantCondition";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="POST-BUILD-VARIANT-CONDITION" type="AR:POST-BUILD-VARIANT-CONDITION"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VALUE-ACCESS">
            <xsd:annotation>
               <xsd:documentation>This value acts as Binding Function for the VariationPoint.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy.valueAccess";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="1" minOccurs="0">
                  <xsd:element name="BOOLEAN-VALUE-VARIATION-POINT" type="AR:BOOLEAN-VALUE-VARIATION-POINT"/>
                  <xsd:element name="FLOAT-VALUE-VARIATION-POINT" type="AR:FLOAT-VALUE-VARIATION-POINT"/>
                  <xsd:element name="INTEGER-VALUE-VARIATION-POINT" type="AR:INTEGER-VALUE-VARIATION-POINT"/>
                  <xsd:element name="LIMIT" type="AR:LIMIT"/>
                  <xsd:element name="NUMERICAL-VALUE-VARIATION-POINT" type="AR:NUMERICAL-VALUE-VARIATION-POINT"/>
                  <xsd:element name="POSITIVE-INTEGER-VALUE-VARIATION-POINT" type="AR:POSITIVE-INTEGER-VALUE-VARIATION-POINT"/>
                  <xsd:element name="UNLIMITED-INTEGER-VALUE-VARIATION-POINT" type="AR:UNLIMITED-INTEGER-VALUE-VARIATION-POINT"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class VariantHandling::VariationPointProxy -->
   <xsd:complexType abstract="false" mixed="false" name="VARIATION-POINT-PROXY">
      <xsd:annotation>
         <xsd:documentation>The VariationPointProxy represents variation points of the C/C++ implementation. In case of bindingTime = compileTime the RTE provides defines which can be used for Pre Processor directives to implement compileTime variability.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariationPointProxy"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:VARIATION-POINT-PROXY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class DataFormatTailoring::VariationRestrictionWithSeverity -->
   <xsd:group name="VARIATION-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>Defines constraints on the usage of variation and on the valid binding times.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariationRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class DataFormatTailoring::VariationRestrictionWithSeverity -->
   <xsd:complexType abstract="false" mixed="false" name="VARIATION-RESTRICTION-WITH-SEVERITY">
      <xsd:annotation>
         <xsd:documentation>Defines constraints on the usage of variation and on the valid binding times.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariationRestrictionWithSeverity"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:RESTRICTION-WITH-SEVERITY"/>
         <xsd:group ref="AR:ABSTRACT-VARIATION-RESTRICTION"/>
         <xsd:group ref="AR:VARIATION-RESTRICTION-WITH-SEVERITY"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::VendorSpecificServiceNeeds -->
   <xsd:group name="VENDOR-SPECIFIC-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define vendor-specific service needs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VendorSpecificServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::VendorSpecificServiceNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="VENDOR-SPECIFIC-SERVICE-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define vendor-specific service needs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VendorSpecificServiceNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:VENDOR-SPECIFIC-SERVICE-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <xsd:complexType name="VERBATIM-STRING">
      <xsd:annotation>
         <xsd:documentation>This primitive represents a string in which white-space needs to be preserved.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VerbatimString";xml.xsd.customType="VERBATIM-STRING";xml.xsd.type="string";xml.xsd.whiteSpace="preserve"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject,primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:VERBATIM-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
            <xsd:attributeGroup ref="AR:VERBATIM-STRING"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <!-- attribute group for class VERBATIM-STRING -->
   <xsd:attributeGroup name="VERBATIM-STRING">
      <xsd:annotation/>
      <xsd:attribute ref="xml:space">
         <xsd:annotation>
            <xsd:documentation>This attribute is used to signal an intention that in that element, white space should be preserved by applications. It is defined according to xml:space as declared by W3C.</xsd:documentation>
            <xsd:appinfo source="tags">atp.Status="shallBecomeMandatory";mmt.qualifiedName="VerbatimString.xmlSpace";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true";xml.attributeRef="true";xml.name="space";xml.nsPrefix="xml"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <xsd:simpleType name="VERBATIM-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:whiteSpace value="preserve"/>
      </xsd:restriction>
   </xsd:simpleType>
   <!-- element group for class Timing::VfbTiming -->
   <xsd:group name="VFB-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to define timing descriptions and constraints at VFB level.

TimingDescriptions aggregated by VfbTiming are restricted to event chains referring to events which are derived from the class TDEventVfb.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="VfbTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="COMPONENT-REF">
            <xsd:annotation>
               <xsd:documentation>This defines the scope of a VfbTiming. All corresponding timing descriptions and constraints must be defined within this scope.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VfbTiming.component";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:SW-COMPONENT-TYPE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class Timing::VfbTiming -->
   <xsd:complexType abstract="false" mixed="false" name="VFB-TIMING">
      <xsd:annotation>
         <xsd:documentation>A model element used to define timing descriptions and constraints at VFB level.

TimingDescriptions aggregated by VfbTiming are restricted to event chains referring to events which are derived from the class TDEventVfb.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="TimingExtensions";mmt.qualifiedName="VfbTiming"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:ATP-BLUEPRINT"/>
         <xsd:group ref="AR:ATP-BLUEPRINTABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:TIMING-EXTENSION"/>
         <xsd:group ref="AR:VFB-TIMING"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ViewMapSet::ViewMap -->
   <xsd:group name="VIEW-MAP">
      <xsd:annotation>
         <xsd:documentation>The ViewMap allows to relate any number of elements on the "first" side to any number of elements on the "second" side. Since the ViewMap does not address a specific mapping use-case the roles "first" and "second" shall imply this generality.

This mapping allows to trace transformations of artifacts within the AUTOSAR environment. The references to the mapped elements can be plain references and/or InstanceRefs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="ROLE" type="AR:IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>This attribute is used to describe specific mapping scenarios, e.g. the mappings:
&lt;ul&gt;
	&lt;li&gt;AR_AbstractSystemDescription_SystemDescription&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
	&lt;li&gt;AR_SystemDescription_SystemExtract&lt;/li&gt;
&lt;/ul&gt;</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap.role";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to identifible elements on the first "side".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap.firstElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="20"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FIRST-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-ELEMENT-REFS">
            <xsd:annotation>
               <xsd:documentation>Reference to identifible elements on the second "side".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap.secondElement";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SECOND-ELEMENT-REF">
                     <xsd:complexType>
                        <xsd:simpleContent>
                           <xsd:extension base="AR:REF">
                              <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                           </xsd:extension>
                        </xsd:simpleContent>
                     </xsd:complexType>
                  </xsd:element>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="FIRST-ELEMENT-INSTANCE-IREFS">
            <xsd:annotation>
               <xsd:documentation>InstanceRefs to elements on the first "side".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap.firstElementInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="FIRST-ELEMENT-INSTANCE-IREF" type="AR:ANY-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SECOND-ELEMENT-INSTANCE-IREFS">
            <xsd:annotation>
               <xsd:documentation>InstanceRefs to elements on the second "side".</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap.secondElementInstance";pureMM.maxOccurs="-1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="SECOND-ELEMENT-INSTANCE-IREF" type="AR:ANY-INSTANCE-REF"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ViewMapSet::ViewMap -->
   <xsd:complexType abstract="false" mixed="false" name="VIEW-MAP">
      <xsd:annotation>
         <xsd:documentation>The ViewMap allows to relate any number of elements on the "first" side to any number of elements on the "second" side. Since the ViewMap does not address a specific mapping use-case the roles "first" and "second" shall imply this generality.

This mapping allows to trace transformations of artifacts within the AUTOSAR environment. The references to the mapped elements can be plain references and/or InstanceRefs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ViewMap"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:VIEW-MAP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ViewMapSet::ViewMapSet -->
   <xsd:group name="VIEW-MAP-SET">
      <xsd:annotation>
         <xsd:documentation>Collection of ViewMaps that are used to establish relationships between different AUTOSAR artifacts.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ViewMapSets";mmt.qualifiedName="ViewMapSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VIEW-MAPS">
            <xsd:annotation>
               <xsd:documentation>ViewMaps that are collected by the ViewMapSet.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="ViewMapSet.viewMap";pureMM.maxOccurs="-1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:choice maxOccurs="unbounded" minOccurs="0">
                  <xsd:element name="VIEW-MAP" type="AR:VIEW-MAP"/>
               </xsd:choice>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class ViewMapSet::ViewMapSet -->
   <xsd:complexType abstract="false" mixed="false" name="VIEW-MAP-SET">
      <xsd:annotation>
         <xsd:documentation>Collection of ViewMaps that are used to establish relationships between different AUTOSAR artifacts.</xsd:documentation>
         <xsd:appinfo source="tags">atp.recommendedPackage="ViewMapSets";mmt.qualifiedName="ViewMapSet"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:AR-ELEMENT"/>
         <xsd:group ref="AR:VIEW-MAP-SET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::VlanConfig -->
   <xsd:group name="VLAN-CONFIG">
      <xsd:annotation>
         <xsd:documentation>VLAN Configuration attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VlanConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN-IDENTIFIER" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>A VLAN is identified by this attribute according to IEEE 802.1Q. The allowed values range is from 0..4095.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VlanConfig.vlanIdentifier";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::VlanConfig -->
   <xsd:complexType abstract="false" mixed="false" name="VLAN-CONFIG">
      <xsd:annotation>
         <xsd:documentation>VLAN Configuration attributes</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VlanConfig"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:VLAN-CONFIG"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class EthernetTopology::VlanMembership -->
   <xsd:group name="VLAN-MEMBERSHIP">
      <xsd:annotation>
         <xsd:documentation>Static logical channel or VLAN binding to a switch-port.

The reference to an EthernetPhysicalChannel without a VLAN defined represents the handling of untagged frames.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VlanMembership"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="DEFAULT-PRIORITY" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Standard output-priority outgoing Frames will be tagged with. This allows to assign different defaultPriorities to each VLAN.
Defines the priority that received frames are assigned together with the VLAN Id (defaultVlan).
In case modifyVlan and an already tagged received frame, the actual priority of the received frame is not modified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VlanMembership.defaultPriority";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DHCP-ADDRESS-ASSIGNMENT" type="AR:DHCP-SERVER-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Specifies the IP Address which will be assigned to a DHCP Client at this SwitchPort.
If no dhcpAddressAssignment is provided all DHCP-Discover messages received at this Port will be discarded by the DHCP Server.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VlanMembership.dhcpAddressAssignment";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="SEND-ACTIVITY" type="AR:ETHERNET-SWITCH-VLAN-EGRESS-TAGGING-ENUM">
            <xsd:annotation>
               <xsd:documentation>Attribute denotes whether a VLAN tagged ethernet frame will be
1. sent with its VLAN tag (sentTagged)
2. sent without a VLAN tag (sentUntagged)
3. will be dropped at this port (notSent or VLAN  not member of this list)</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VlanMembership.sendActivity";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="VLAN-REF">
            <xsd:annotation>
               <xsd:documentation>References a channel that represents a VLAN or an untagged channel.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="VlanMembership.vlan";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:ETHERNET-PHYSICAL-CHANNEL--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class EthernetTopology::VlanMembership -->
   <xsd:complexType abstract="false" mixed="false" name="VLAN-MEMBERSHIP">
      <xsd:annotation>
         <xsd:documentation>Static logical channel or VLAN binding to a switch-port.

The reference to an EthernetPhysicalChannel without a VLAN defined represents the handling of untagged frames.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VlanMembership"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:VLAN-MEMBERSHIP"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class RTEEvents::WaitPoint -->
   <xsd:group name="WAIT-POINT">
      <xsd:annotation>
         <xsd:documentation>This defines a wait-point for which the RunnableEntity can wait.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WaitPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="TIMEOUT" type="AR:TIME-VALUE">
            <xsd:annotation>
               <xsd:documentation>Time in seconds before the WaitPoint times out and the blocking wait call returns with an error indicating the timeout.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="WaitPoint.timeout";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TRIGGER-REF">
            <xsd:annotation>
               <xsd:documentation>This is the RTEEvent this WaitPoint is waiting for.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="WaitPoint.trigger";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:RTE-EVENT--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class RTEEvents::WaitPoint -->
   <xsd:complexType abstract="false" mixed="false" name="WAIT-POINT">
      <xsd:annotation>
         <xsd:documentation>This defines a wait-point for which the RunnableEntity can wait.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WaitPoint"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:WAIT-POINT"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class ServiceNeeds::WarningIndicatorRequestedBitNeeds -->
   <xsd:group name="WARNING-INDICATOR-REQUESTED-BIT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to explicitly request the existence of the WarningIndicatorRequestedBit.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WarningIndicatorRequestedBitNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class ServiceNeeds::WarningIndicatorRequestedBitNeeds -->
   <xsd:complexType abstract="false" mixed="false" name="WARNING-INDICATOR-REQUESTED-BIT-NEEDS">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to explicitly request the existence of the WarningIndicatorRequestedBit.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WarningIndicatorRequestedBitNeeds"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:SERVICE-NEEDS"/>
         <xsd:group ref="AR:DIAGNOSTIC-CAPABILITY-ELEMENT"/>
         <xsd:group ref="AR:WARNING-INDICATOR-REQUESTED-BIT-NEEDS"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class LanguageDataModel::WhitespaceControlled -->
   <xsd:group name="WHITESPACE-CONTROLLED">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to control the white-space handling  e.g. in xml serialization. This is implemented by adding the attribute "space".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WhitespaceControlled"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- attribute group for class LanguageDataModel::WhitespaceControlled -->
   <xsd:attributeGroup name="WHITESPACE-CONTROLLED">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to control the white-space handling  e.g. in xml serialization. This is implemented by adding the attribute "space".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WhitespaceControlled"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute ref="xml:space" use="required">
         <xsd:annotation>
            <xsd:documentation>This attribute is used to signal an intention that in that element, white space should be preserved by applications. It is defined according to xml:space as declared by W3C.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="WhitespaceControlled.xmlSpace";pureMM.maxOccurs="1";pureMM.minOccurs="1";xml.attribute="true";xml.attributeRef="true";xml.enforceMinMultiplicity="true";xml.name="space";xml.nsPrefix="xml"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- element group for class HeapUsage::WorstCaseHeapUsage -->
   <xsd:group name="WORST-CASE-HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>Provides a formal worst case heap usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WorstCaseHeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Worst case heap consumption. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="WorstCaseHeapUsage.memoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class HeapUsage::WorstCaseHeapUsage -->
   <xsd:complexType abstract="false" mixed="false" name="WORST-CASE-HEAP-USAGE">
      <xsd:annotation>
         <xsd:documentation>Provides a formal worst case heap usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WorstCaseHeapUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:HEAP-USAGE"/>
         <xsd:group ref="AR:WORST-CASE-HEAP-USAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class StackUsage::WorstCaseStackUsage -->
   <xsd:group name="WORST-CASE-STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>Provides a formal worst case stack usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WorstCaseStackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="MEMORY-CONSUMPTION" type="AR:POSITIVE-INTEGER">
            <xsd:annotation>
               <xsd:documentation>Worst case stack consumption. Unit: byte.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="WorstCaseStackUsage.memoryConsumption";pureMM.maxOccurs="1";pureMM.minOccurs="1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class StackUsage::WorstCaseStackUsage -->
   <xsd:complexType abstract="false" mixed="false" name="WORST-CASE-STACK-USAGE">
      <xsd:annotation>
         <xsd:documentation>Provides a formal worst case stack usage.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="WorstCaseStackUsage"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:STACK-USAGE"/>
         <xsd:group ref="AR:WORST-CASE-STACK-USAGE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class CoreCommunication::XcpPdu -->
   <xsd:group name="XCP-PDU">
      <xsd:annotation>
         <xsd:documentation>This element is deprecated and will be removed in future. The GeneralPurposeIPdu with the category "XCP" shall be used instead.

Old description:
AUTOSAR XCP Pdu.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";atp.recommendedPackage="Pdus";mmt.qualifiedName="XcpPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class CoreCommunication::XcpPdu -->
   <xsd:complexType abstract="false" mixed="false" name="XCP-PDU">
      <xsd:annotation>
         <xsd:documentation>This element is deprecated and will be removed in future. The GeneralPurposeIPdu with the category "XCP" shall be used instead.

Old description:
AUTOSAR XCP Pdu.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.1.2";atp.recommendedPackage="Pdus";mmt.qualifiedName="XcpPdu"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:MULTILANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:IDENTIFIABLE"/>
         <xsd:group ref="AR:COLLECTABLE-ELEMENT"/>
         <xsd:group ref="AR:PACKAGEABLE-ELEMENT"/>
         <xsd:group ref="AR:FIBEX-ELEMENT"/>
         <xsd:group ref="AR:PDU"/>
         <xsd:group ref="AR:I-PDU"/>
         <xsd:group ref="AR:XCP-PDU"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:IDENTIFIABLE"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::Xdoc -->
   <xsd:group name="XDOC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to refer to an external document which can be rendered as printed matter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="NUMBER" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents document number of an external document that is referenced. Kept as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc.number";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="STATE" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents version and state of the external document. Kept as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc.state";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="DATE" type="AR:DATE">
            <xsd:annotation>
               <xsd:documentation>This element specifies the release date of the external document if applicable.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc.date";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="PUBLISHER" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the publisher of an external document that is being referenced. Kept as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc.publisher";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="URL" type="AR:URL">
            <xsd:annotation>
               <xsd:documentation>This specifies the URL of the external document.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc.url";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="70"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="POSITION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This represents the reference to the relevant positions of a standard. Kept as a string.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc.position";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="80"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InlineTextElements::Xdoc -->
   <xsd:complexType abstract="false" mixed="false" name="XDOC">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to refer to an external document which can be rendered as printed matter.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xdoc"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:SINGLE-LANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:XDOC"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::Xfile -->
   <xsd:group name="XFILE">
      <xsd:annotation>
         <xsd:documentation>This represents to reference an external file within a documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xfile"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="URL" type="AR:URL">
            <xsd:annotation>
               <xsd:documentation>This represents the URL of the external file.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xfile.url";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="30"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TOOL" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This element describes the tool which was used to generate the corresponding Xfile . Kept as a string since no specific syntax can be provided to denote a tool.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xfile.tool";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="TOOL-VERSION" type="AR:STRING">
            <xsd:annotation>
               <xsd:documentation>This element describes the tool version which was used to generate the corresponding xfile. Kept as a string, since no specific syntax can be specified.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xfile.toolVersion";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.sequenceOffset="60"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- complex type for class InlineTextElements::Xfile -->
   <xsd:complexType abstract="false" mixed="false" name="XFILE">
      <xsd:annotation>
         <xsd:documentation>This represents to reference an external file within a documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xfile"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:SINGLE-LANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:XFILE"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::Xref -->
   <xsd:group name="XREF">
      <xsd:annotation>
         <xsd:documentation>This represents a cross-reference within documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xref"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:element maxOccurs="1" minOccurs="0" name="LABEL-1" type="AR:SINGLE-LANGUAGE-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>This allows to specify a replacement text which shall be rendered if showContent is selected.</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xref.label1";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
         </xsd:element>
         <xsd:element maxOccurs="1" minOccurs="0" name="REFERRABLE-REF">
            <xsd:annotation>
               <xsd:documentation>This establishes the reference in Autosar style</xsd:documentation>
               <xsd:appinfo source="tags">mmt.qualifiedName="Xref.referrable";pureMM.maxOccurs="1";pureMM.minOccurs="0"</xsd:appinfo>
            </xsd:annotation>
            <xsd:complexType>
               <xsd:simpleContent>
                  <xsd:extension base="AR:REF">
                     <xsd:attribute name="DEST" type="AR:REFERRABLE--SUBTYPES-ENUM" use="required"/>
                  </xsd:extension>
               </xsd:simpleContent>
            </xsd:complexType>
         </xsd:element>
      </xsd:sequence>
   </xsd:group>
   <!-- attribute group for class InlineTextElements::Xref -->
   <xsd:attributeGroup name="XREF">
      <xsd:annotation>
         <xsd:documentation>This represents a cross-reference within documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xref"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:attribute name="RESOLUTION-POLICY" type="AR:RESOLUTION-POLICY-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the content of the xref element follow a dedicated resolution policy. The default is "NO-SLOPPY".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.resolutionPolicy";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-CONTENT" type="AR:SHOW-CONTENT-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the content of the xref element shall be rendered. The default is "NO-SHOW-CONTENT".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showContent";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-ALIAS-NAME" type="AR:SHOW-RESOURCE-ALIAS-NAME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>This indicates if the alias names of the referenced objects shall be rendered. This means this is some kind of backward searching: look whether there is an  alias for the referenced object, if yes, print it. 

If there is more than one AliasNameSet, Xref might render all of those.

If no alilas is found and showResourceShortName is set to NoShowShortName, then the shortName of the reference target shall be displayed. By this showResourceAliasName is similar to showResourceShortName but shows the aliasName instead of the shortName.

Default is NO-SHOW-ALIAS-NAME.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourceAliasName";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-CATEGORY" type="AR:SHOW-RESOURCE-CATEGORY-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the category of the referenced resource shall be rendered. Default is "NO-SHOW-CATEGORY".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourceCategory";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-LONG-NAME" type="AR:SHOW-RESOURCE-LONG-NAME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the longName of the referenced resource shall be rendered. Default is "SHOW-LONG-NAME".</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourceLongName";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-NUMBER" type="AR:SHOW-RESOURCE-NUMBER-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the Number of the referenced resource shall be shown. Default is "SHOW--NUMBER"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourceNumber";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-PAGE" type="AR:SHOW-RESOURCE-PAGE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the page number of the referenced resource shall be shown. Default is "SHOW-PAGE"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourcePage";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-SHORT-NAME" type="AR:SHOW-RESOURCE-SHORT-NAME-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the shortJName of the referenced resource shall be shown. Default is "SHOW-SHORT-NAME"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourceShortName";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-RESOURCE-TYPE" type="AR:SHOW-RESOURCE-TYPE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the type of the referenced Resource shall be shown. Default is "SHOW-TYPE"</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showResourceType";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
      <xsd:attribute name="SHOW-SEE" type="AR:SHOW-SEE-ENUM--SIMPLE">
         <xsd:annotation>
            <xsd:documentation>Indicates if the word "see " shall be shown before the reference. Default is "NO-SHOW-SEE". Note that this is there for compatibility reasons only.</xsd:documentation>
            <xsd:appinfo source="tags">mmt.qualifiedName="Xref.showSee";pureMM.maxOccurs="1";pureMM.minOccurs="0";xml.attribute="true"</xsd:appinfo>
         </xsd:annotation>
      </xsd:attribute>
   </xsd:attributeGroup>
   <!-- complex type for class InlineTextElements::Xref -->
   <xsd:complexType abstract="false" mixed="false" name="XREF">
      <xsd:annotation>
         <xsd:documentation>This represents a cross-reference within documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Xref"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:XREF"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
      <xsd:attributeGroup ref="AR:XREF"/>
   </xsd:complexType>
   <!-- element group for class InlineTextElements::XrefTarget -->
   <xsd:group name="XREF-TARGET">
      <xsd:annotation>
         <xsd:documentation>This element specifies a reference target which can be scattered throughout the text.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="XrefTarget"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence/>
   </xsd:group>
   <!-- complex type for class InlineTextElements::XrefTarget -->
   <xsd:complexType abstract="false" mixed="false" name="XREF-TARGET">
      <xsd:annotation>
         <xsd:documentation>This element specifies a reference target which can be scattered throughout the text.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="XrefTarget"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">atpObject</xsd:appinfo>
      </xsd:annotation>
      <xsd:sequence>
         <xsd:group ref="AR:AR-OBJECT"/>
         <xsd:group ref="AR:REFERRABLE"/>
         <xsd:group ref="AR:SINGLE-LANGUAGE-REFERRABLE"/>
         <xsd:group ref="AR:XREF-TARGET"/>
      </xsd:sequence>
      <xsd:attributeGroup ref="AR:AR-OBJECT"/>
   </xsd:complexType>
   <xsd:complexType name="ACL-SCOPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator represents the scope of a definition in context of access control.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AclScopeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ACL-SCOPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ACL-SCOPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEPENDANT">
            <xsd:annotation>
               <xsd:documentation>This specifies that the AclPermission applies to dependant (in particular referenced) operations / objects as well. Note that this includes the descendant ones.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="AclScopeEnum.dependant"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DESCENDANT">
            <xsd:annotation>
               <xsd:documentation>This specifies that the AclPermission applies to descendant  operations / objects as well.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="AclScopeEnum.descendant"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXPLICIT">
            <xsd:annotation>
               <xsd:documentation>This is indicates that the AclPermission applies to explicit objects / operations only.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="AclScopeEnum.explicit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ADDITIONAL-BINDING-TIME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration specifies the additional binding times applicable for vh.latestBindingTime of variation points.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AdditionalBindingTimeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ADDITIONAL-BINDING-TIME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ADDITIONAL-BINDING-TIME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BLUEPRINT-DERIVATION-TIME">
            <xsd:annotation>
               <xsd:documentation>The point in time when an object is created from a blueprint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="AdditionalBindingTimeEnum.blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POST-BUILD">
            <xsd:annotation>
               <xsd:documentation>After the executable has been built.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="AdditionalBindingTimeEnum.postBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ADDRESS">
      <xsd:annotation>
         <xsd:documentation>This is used to specify an address within the CPU.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Address";xml.xsd.customType="ADDRESS";xml.xsd.pattern="0x[0-9a-z]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ADDRESS--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ADDRESS--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="0x[0-9a-z]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ALIGN-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies horizontal alignment.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AlignEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ALIGN-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ALIGN-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CENTER">
            <xsd:annotation>
               <xsd:documentation>The content of the table is horizontally centered.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="AlignEnum.center"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="JUSTIFY">
            <xsd:annotation>
               <xsd:documentation>This indicates that the content of table cell shall be justified (rendered as a block where white-space is expanded such that all lines are filled up).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="AlignEnum.justify"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LEFT">
            <xsd:annotation>
               <xsd:documentation>This indicates that the content of a table cell is left justified.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="AlignEnum.left"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RIGHT">
            <xsd:annotation>
               <xsd:documentation>This indicates that the content of a table cell is left justified.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="AlignEnum.right"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ALIGNMENT-TYPE">
      <xsd:annotation>
         <xsd:documentation>This primitive represents the alignment of objects within a memory section. The value is in number of bits or UNKNOWN (deprecated), 8 , 16, 32 UNSPECIFIED, BOOLEAN, or PTR. Typical values for numbers are 8, 16, 32.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AlignmentType";xml.xsd.customType="ALIGNMENT-TYPE";xml.xsd.pattern="[1-9][0-9]*|0[xX][0-9a-fA-F]*|0[bB][0-1]+|0[0-7]*|UNSPECIFIED|UNKNOWN|BOOLEAN|PTR";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ALIGNMENT-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ALIGNMENT-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[1-9][0-9]*|0[xX][0-9a-fA-F]*|0[bB][0-1]+|0[0-7]*|UNSPECIFIED|UNKNOWN|BOOLEAN|PTR"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="API-PRINCIPLE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration represents the ability to control the granularity of API generation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ApiPrincipleEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:API-PRINCIPLE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="API-PRINCIPLE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COMMON">
            <xsd:annotation>
               <xsd:documentation>The Rte or SchM API is provided for the whole software component / BSW Module</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ApiPrincipleEnum.common"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PER-EXECUTABLE">
            <xsd:annotation>
               <xsd:documentation>The Rte or SchM API is provided for a specific ExecutableEntity of a software component / BSW Module</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ApiPrincipleEnum.perExecutable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="AREA-ENUM-NOHREF">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the fact that the area has no reference.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AreaEnumNohref"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:AREA-ENUM-NOHREF--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="AREA-ENUM-NOHREF--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NOHREF">
            <xsd:annotation>
               <xsd:documentation>This indicates that the area has no active link.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="AreaEnumNohref.nohref"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="AREA-ENUM-SHAPE">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the shape of the area.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AreaEnumShape"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:AREA-ENUM-SHAPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="AREA-ENUM-SHAPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CIRCLE">
            <xsd:annotation>
               <xsd:documentation>The shape is a circle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="AreaEnumShape.circle"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEFAULT">
            <xsd:annotation>
               <xsd:documentation>This specifies the fact that the area covers the rest of the figure.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="AreaEnumShape.default"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POLY">
            <xsd:annotation>
               <xsd:documentation>The area is specified as polygon.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="AreaEnumShape.poly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RECT">
            <xsd:annotation>
               <xsd:documentation>The shape is specified as rectangle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="AreaEnumShape.rect"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ARGUMENT-DIRECTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Use cases:

* Arguments in ClientServerOperation can have different directions that need to be formally indicated because they have an impact on how the function signature looks like eventually.

* Arguments in BswModuleEntry already determine a function signature, but the direction is used to specify the semantics, especially of pointer arguments.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArgumentDirectionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ARGUMENT-DIRECTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ARGUMENT-DIRECTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IN">
            <xsd:annotation>
               <xsd:documentation>The argument value is passed to the callee.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ArgumentDirectionEnum.in"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INOUT">
            <xsd:annotation>
               <xsd:documentation>The argument value is passed to the callee but also passed back from the callee to the caller.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ArgumentDirectionEnum.inout"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OUT">
            <xsd:annotation>
               <xsd:documentation>The argument value is passed from the callee  to the caller.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ArgumentDirectionEnum.out"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ARRAY-SIZE-HANDLING-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines different ways to handle the sizes of variable size arrays.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArraySizeHandlingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ARRAY-SIZE-HANDLING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ARRAY-SIZE-HANDLING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALL-INDICES-DIFFERENT-ARRAY-SIZE">
            <xsd:annotation>
               <xsd:documentation>All elements of the variable size array may have different sizes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ArraySizeHandlingEnum.allIndicesDifferentArraySize"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ALL-INDICES-SAME-ARRAY-SIZE">
            <xsd:annotation>
               <xsd:documentation>All elements of the variable size array have the same size.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ArraySizeHandlingEnum.allIndicesSameArraySize"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INHERITED-FROM-ARRAY-ELEMENT-TYPE-SIZE">
            <xsd:annotation>
               <xsd:documentation>The size of all dimensions of the variable size array is determined by the size of the contained array element.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ArraySizeHandlingEnum.inheritedFromArrayElementTypeSize"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ARRAY-SIZE-SEMANTICS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This type controls how the information about the number of elements in an ApplicationArrayDataType is to be interpreted.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ArraySizeSemanticsEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ARRAY-SIZE-SEMANTICS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ARRAY-SIZE-SEMANTICS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FIXED-SIZE">
            <xsd:annotation>
               <xsd:documentation>This means that the ApplicationArrayDataType will always have a fixed number of elements.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ArraySizeSemanticsEnum.fixedSize"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIABLE-SIZE">
            <xsd:annotation>
               <xsd:documentation>This implies that the actual number of elements in the ApplicationArrayDataType might vary at run-time. The value of arraySize represents the maximum number of elements in the array.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ArraySizeSemanticsEnum.variableSize"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ASAM-RECORD-LAYOUT-SEMANTICS">
      <xsd:annotation>
         <xsd:documentation>This meta-class is used to denote the semantics in particular in terms of the corresponding A2L-Keyword. This is to support the mapping of the more general record layouts in AUTOSAR/MSR to the specific A2L keywords. 

It is possible to express the specific semantics of A2l RecordLayout keywords in SwRecordlayoutGroup but not always vice versa. Therefore the mapping is provided in this optional attribute.

It is specified as NMTOKEN to reduce the direct dependency of ASAM an AUTOSAR standards.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AsamRecordLayoutSemantics";xml.xsd.customType="ASAM-RECORD-LAYOUT-SEMANTICS";xml.xsd.type="NMTOKEN"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ASAM-RECORD-LAYOUT-SEMANTICS--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ASAM-RECORD-LAYOUT-SEMANTICS--SIMPLE">
      <xsd:restriction base="xsd:NMTOKEN"/>
   </xsd:simpleType>
   <xsd:complexType name="AUTO-COLLECT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator defines the possible approaches to determine the final set of elements in a collection.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AutoCollectEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:AUTO-COLLECT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="AUTO-COLLECT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="REF-ALL">
            <xsd:annotation>
               <xsd:documentation>All objects being referenced (recursively) from the objects mentioned directly in the collection are also considered as part of the collection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="AutoCollectEnum.refAll"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REF-NON-STANDARD">
            <xsd:annotation>
               <xsd:documentation>This indicates that non standard objects ([TPS_GST_00088]) referenced (recursively) by the objects mentioned directly in the collection are also considered to be part of the collection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="AutoCollectEnum.refNonStandard"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REF-NONE">
            <xsd:annotation>
               <xsd:documentation>This indicates that only those objects mentioned directly in the collection are part of the collection. No other objects are considered further.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="AutoCollectEnum.refNone"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="AXIS-INDEX-TYPE">
      <xsd:annotation>
         <xsd:documentation>This meta-class specifies an axis in a curve/map data object. The index satisfies  the following convention:

* 0 output "axis"
* 1 input axis 1 (X input axis e.g. of a CURVE)
* 2 input axis 2 (Y input axis e.g. of a MAP)
* 3 input axis 3 (Z input axis e.g. of a CUBOID)
* 4 input axis 3 (Z4 input axis e.g. of a CUBE_4)
* 5 input axis 3 (Z5 input axis e.g. of a CUBE_5)
* 6..9 etc.

The output "axis" provides access to the output value of the parameter. Note that this access is usually performed via an index according to the input axis.

In addition to this, the Values STRING and ARRAY support specific iterations.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="AxisIndexType";xml.xsd.customType="AXIS-INDEX-TYPE";xml.xsd.pattern="[0-9]+|STRING|ARRAY";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:AXIS-INDEX-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="AXIS-INDEX-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[0-9]+|STRING|ARRAY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BASE-TYPE-ENCODING-STRING">
      <xsd:annotation>
         <xsd:documentation>This is the string denotion of a BaseType encoding. It may be refined by specific use-cases.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BaseTypeEncodingString";xml.xsd.customType="BASE-TYPE-ENCODING-STRING";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BASE-TYPE-ENCODING-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BASE-TYPE-ENCODING-STRING--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="BINDING-TIME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the applicable binding times for the pre build variation points.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BindingTimeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BINDING-TIME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BINDING-TIME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CODE-GENERATION-TIME">
            <xsd:annotation>
               <xsd:documentation>* Coding by hand, based on requirements document.
* Tool based code generation, e.g. from a model.
* The model may contain variants.
* Only code for the selected variant(s) is actually generated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="BindingTimeEnum.codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LINK-TIME">
            <xsd:annotation>
               <xsd:documentation>Configure what is included in object code, and what is omitted
Based on which variant(s) are selected
E.g. for modules that are delivered as object code (as opposed to those that are delivered as source code)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="BindingTimeEnum.linkTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRE-COMPILE-TIME">
            <xsd:annotation>
               <xsd:documentation>This is typically the C-Preprocessor.
Exclude parts of the code from the compilation process, e.g.,
because they are not required for the selected variant,
because they are incompatible with the selected variant,
because they require resources that are not present in the selected variant.
Object code is only generated for the selected variant(s).
The code that is excluded at this stage code will not be available at later stages.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="BindingTimeEnum.preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYSTEM-DESIGN-TIME">
            <xsd:annotation>
               <xsd:documentation>* Designing the VFB.
* Software Component types (PortInterfaces).
* SWC Prototypes and the Connections between SWCprototypes.
* Designing the Topology
* ECUs and interconnecting Networks
* Designing the Communication Matrix and Data Mapping</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="BindingTimeEnum.systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BOOLEAN">
      <xsd:annotation>
         <xsd:documentation>A Boolean value denotes a logical condition that is either 'true' or 'false'.
It can be one of "0", "1", "true", "false"</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Boolean";xml.xsd.customType="BOOLEAN";xml.xsd.pattern="0|1|true|false";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BOOLEAN--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BOOLEAN--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="0|1|true|false"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BSW-CALL-TYPE">
      <xsd:annotation>
         <xsd:documentation>Denotes the mechanism by which the entry into the Bsw module shall be called.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswCallType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BSW-CALL-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BSW-CALL-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CALLBACK">
            <xsd:annotation>
               <xsd:documentation>Callback (i.e. the caller specifies the signature)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="BswCallType.callback"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CALLOUT">
            <xsd:annotation>
               <xsd:documentation>Callout - provide defined means to extend the functionality of an existing module.  In this case caller specifies the signature.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="BswCallType.callout"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INTERRUPT">
            <xsd:annotation>
               <xsd:documentation>Interrupt routine</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="BswCallType.interrupt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REGULAR">
            <xsd:annotation>
               <xsd:documentation>Regular API call</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="BswCallType.regular"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULED">
            <xsd:annotation>
               <xsd:documentation>Called by the scheduler</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="BswCallType.scheduled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BSW-ENTRY-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>Denotes the mechanism by which the entry into the Bsw module shall be called.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BSW-ENTRY-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BSW-ENTRY-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ABSTRACT">
            <xsd:annotation>
               <xsd:documentation>This BswModuleEntry specifies an abstract signature of C-functions. The signature needs to be implemented by concrete BswModuleEntrys</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="BswEntryKindEnum.abstract"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CONCRETE">
            <xsd:annotation>
               <xsd:documentation>This BswModuleEntry specifies a concrete C-function with its signature.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="BswEntryKindEnum.concrete"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BSW-ENTRY-RELATIONSHIP-ENUM">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswEntryRelationshipEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BSW-ENTRY-RELATIONSHIP-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BSW-ENTRY-RELATIONSHIP-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DERIVED-FROM">
            <xsd:annotation>
               <xsd:documentation>Describes that the BswModuleEntry referenced as "to" needs to have the same signature as the "abstract" BswModuleEntry referenced as "from".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="BswEntryRelationshipEnum.derivedFrom"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BSW-EXECUTION-CONTEXT">
      <xsd:annotation>
         <xsd:documentation>Specifies the execution context required or guaranteed for the call associated with this service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswExecutionContext"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BSW-EXECUTION-CONTEXT--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BSW-EXECUTION-CONTEXT--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HOOK">
            <xsd:annotation>
               <xsd:documentation>Context of an OS "hook" routine always</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="BswExecutionContext.hook"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INTERRUPT-CAT-1">
            <xsd:annotation>
               <xsd:documentation>CAT1 interrupt context always</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="BswExecutionContext.interruptCat1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INTERRUPT-CAT-2">
            <xsd:annotation>
               <xsd:documentation>CAT2 interrupt context always</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="BswExecutionContext.interruptCat2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TASK">
            <xsd:annotation>
               <xsd:documentation>Task context always</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="BswExecutionContext.task"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UNSPECIFIED">
            <xsd:annotation>
               <xsd:documentation>The execution context is not specified by the API</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="BswExecutionContext.unspecified"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BSW-INTERRUPT-CATEGORY">
      <xsd:annotation>
         <xsd:documentation>Category of the interrupt service</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="BswInterruptCategory"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BSW-INTERRUPT-CATEGORY--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BSW-INTERRUPT-CATEGORY--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAT-1">
            <xsd:annotation>
               <xsd:documentation>Cat1 interrupt routines are not controlled by the OS and are only allowed to make a very limited selection of OS calls to enable and disable all interrupts. The BswInterruptEntity  is implemented by the interrupt service routine, which is directly called from the interrupt vector (not via the OS).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="BswInterruptCategory.cat1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAT-2">
            <xsd:annotation>
               <xsd:documentation>Cat2 interrupt routines are controlled by the OS and they are allowed to make OS calls. The BswInterruptEntity  is implemented by the interrupt handler, which is called from the OS.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="BswInterruptCategory.cat2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="BYTE-ORDER-ENUM">
      <xsd:annotation>
         <xsd:documentation>When more than one byte is stored in the memory the order of those bytes may differ depending on the architecture of the processing unit. If the least significant byte is stored at the lowest address, this architecture is called little endian and otherwise it is called big endian.

ByteOrder is very important in case of communication between different PUs or ECUs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ByteOrderEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:BYTE-ORDER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="BYTE-ORDER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MOST-SIGNIFICANT-BYTE-FIRST">
            <xsd:annotation>
               <xsd:documentation>Most significant byte shall come at the lowest address (also known as BigEndian or as Motorola-Format)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ByteOrderEnum.mostSignificantByteFirst"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MOST-SIGNIFICANT-BYTE-LAST">
            <xsd:annotation>
               <xsd:documentation>Most significant byte shall come highest address (also known as LittleEndian or as Intel-Format)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ByteOrderEnum.mostSignificantByteLast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPAQUE">
            <xsd:annotation>
               <xsd:documentation>For opaque data endianness conversion has to be configured to Opaque. See AUTOSAR COM Specification for more details.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ByteOrderEnum.opaque"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="C-IDENTIFIER-WITH-INDEX">
      <xsd:annotation>
         <xsd:documentation>This datatype represents a string, that follows the rules of C-identifiers with an index.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CIdentifierWithIndex";xml.xsd.customType="C-IDENTIFIER-WITH-INDEX";xml.xsd.pattern="[a-zA-Z_][a-zA-Z0-9_]*\[[0-9]+\]";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:C-IDENTIFIER-WITH-INDEX--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="C-IDENTIFIER-WITH-INDEX--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[a-zA-Z_][a-zA-Z0-9_]*\[[0-9]+\]"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CS-TRANSFORMER-ERROR-REACTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Possible kinds of error reaction in case of a hard transformer error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CSTransformerErrorReactionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CS-TRANSFORMER-ERROR-REACTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CS-TRANSFORMER-ERROR-REACTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="APPLICATION-ONLY">
            <xsd:annotation>
               <xsd:documentation>The application is responsible for any error reaction. No autonomous error reaction of RTE and transformer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CSTransformerErrorReactionEnum.applicationOnly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AUTONOMOUS">
            <xsd:annotation>
               <xsd:documentation>RTE and Transformer coordinate an autonomous error reaction on their own.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CSTransformerErrorReactionEnum.autonomous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CALPRM-AXIS-CATEGORY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enum specifies the possible values of the category property within  SwCalprmAxis.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CalprmAxisCategoryEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CALPRM-AXIS-CATEGORY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CALPRM-AXIS-CATEGORY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COM-AXIS">
            <xsd:annotation>
               <xsd:documentation>COM-AXIS is equal to an STD_AXIS, the difference is, that a COM-AXIS is an shared axis, that means this axis can be used multiple times by different curves or maps. This value is obsolete.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";mmt.qualifiedName="CalprmAxisCategoryEnum.comAxis_O";xml.name="COM-AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="COM_AXIS">
            <xsd:annotation>
               <xsd:documentation>COM_AXIS is equal to an STD_AXIS, the difference is, that a COM_AXIS is an shared axis, that means this axis can be used multiple times by different CURVEs,  MAPs, CUBOIDs, CUBE_4s, and CUBE_5s.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CalprmAxisCategoryEnum.comAxis";xml.name="COM_AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CURVE-AXIS">
            <xsd:annotation>
               <xsd:documentation>CURVE-AXIS uses a separate CURVE to rescale the axis. The referenced CURVE is used to lookup an axis index, and the index value is used by the controller to determine the operating point in the CURVE or MAP. This value is obsolete.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";atp.Status="removed";mmt.qualifiedName="CalprmAxisCategoryEnum.curveAxis_O";xml.name="CURVE-AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CURVE_AXIS">
            <xsd:annotation>
               <xsd:documentation>CURVE_AXIS uses a separate CURVE to rescale the axis. The referenced CURVE is used to lookup an axis index, and the index value is used by the controller to determine the operating point in the CURVE, MAP, CUBOID, CUBE_4, or CUBE_5.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";atp.Status="removed";mmt.qualifiedName="CalprmAxisCategoryEnum.curveAxis";xml.name="CURVE_AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIX-AXIS">
            <xsd:annotation>
               <xsd:documentation>FIX-AXIS means that the input axis is not stored. The axis is calculated using parameters  and so on it is also not possible to modify the axis points. This value is obsolete.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";atp.Status="removed";mmt.qualifiedName="CalprmAxisCategoryEnum.fixAXIS_O";xml.name="FIX-AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIX_AXIS">
            <xsd:annotation>
               <xsd:documentation>FIX_AXIS means that the input axis is not stored. The axis is calculated using parameters  and so on it is also not possible to modify the axis points.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="CalprmAxisCategoryEnum.fixAXIS";xml.name="FIX_AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RES-AXIS">
            <xsd:annotation>
               <xsd:documentation>RES-AXIS is also an shared axis like COM_AXIS, the difference is that this kind of axis can be used for rescaling. This value is obsolete.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";atp.Status="removed";mmt.qualifiedName="CalprmAxisCategoryEnum.resAxis_O";xml.name="RES-AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RES_AXIS">
            <xsd:annotation>
               <xsd:documentation>RES_AXIS is also an shared axis like COM_AXIS, the difference is that this kind of axis can be used for rescaling.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="CalprmAxisCategoryEnum.resAxis";xml.name="RES_AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STD-AXIS">
            <xsd:annotation>
               <xsd:documentation>STD-AXIS means that input and output axis definition are stored within this CURVE.
There is no shared or calculated axis. This value is obsolete.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";atp.Status="removed";mmt.qualifiedName="CalprmAxisCategoryEnum.stdAxis_O";xml.name="STD-AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STD_AXIS">
            <xsd:annotation>
               <xsd:documentation>STD_AXIS means that input and output axis definition are stored within this CURVE, MAP, CUBOID, CUBE_4, and CUBE_5.

There is no shared or calculated axis.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";mmt.qualifiedName="CalprmAxisCategoryEnum.stdAxis";xml.name="STD_AXIS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CAN-ADDRESSING-MODE-TYPE">
      <xsd:annotation>
         <xsd:documentation>Indicates whether standard or extended CAN identifiers are used</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanAddressingModeType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CAN-ADDRESSING-MODE-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CAN-ADDRESSING-MODE-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EXTENDED">
            <xsd:annotation>
               <xsd:documentation>Extended 29-bit-identifiers are used (CAN 2.0B)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CanAddressingModeType.extended"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STANDARD">
            <xsd:annotation>
               <xsd:documentation>Standard 11-bit-identifiers are used (CAN 2.0A)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CanAddressingModeType.standard"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CAN-FRAME-RX-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines different CAN protocols for frame reception behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameRxBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CAN-FRAME-RX-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CAN-FRAME-RX-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ANY">
            <xsd:annotation>
               <xsd:documentation>This CAN frame may be received as both, CAN 2.0 and CAN FD.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CanFrameRxBehaviorEnum.any"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAN-20">
            <xsd:annotation>
               <xsd:documentation>This CAN frame shall be received as CAN 2.0 only. In case the CAN frame is received as CAN FD it is discarded during reception.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CanFrameRxBehaviorEnum.can20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAN-FD">
            <xsd:annotation>
               <xsd:documentation>This CAN frame shall be received as CAN FD only. In case the CAN frame is received as CAN 2.0 it is discarded during reception.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="CanFrameRxBehaviorEnum.canFd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CAN-FRAME-TX-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines different CAN protocols for frame transmission behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanFrameTxBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CAN-FRAME-TX-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CAN-FRAME-TX-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-20">
            <xsd:annotation>
               <xsd:documentation>This CAN frame shall be sent as CAN 2.0 only.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CanFrameTxBehaviorEnum.can20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAN-FD">
            <xsd:annotation>
               <xsd:documentation>This CAN frame shall be sent as CAN FD.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CanFrameTxBehaviorEnum.canFd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CAN-TP-ADDRESSING-FORMAT-TYPE">
      <xsd:annotation>
         <xsd:documentation>Declares which communication addressing mode is supported.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpAddressingFormatType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CAN-TP-ADDRESSING-FORMAT-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CAN-TP-ADDRESSING-FORMAT-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EXTENDED">
            <xsd:annotation>
               <xsd:documentation>To use extended addressing format.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CanTpAddressingFormatType.extended"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MIXED">
            <xsd:annotation>
               <xsd:documentation>To use mixed 11bit addressing format.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CanTpAddressingFormatType.mixed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MIXED-29-BIT">
            <xsd:annotation>
               <xsd:documentation>To use mixed 29bit addressing format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="CanTpAddressingFormatType.mixed29bit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NORMALFIXED">
            <xsd:annotation>
               <xsd:documentation>To use normal fixed addressing format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="CanTpAddressingFormatType.normalfixed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STANDARD">
            <xsd:annotation>
               <xsd:documentation>To use normal addressing format.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="CanTpAddressingFormatType.standard"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CAN-TP-CHANNEL-MODE-TYPE">
      <xsd:annotation>
         <xsd:documentation>The CAN Transport Layer supports half and full duplex channel modes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CanTpChannelModeType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CAN-TP-CHANNEL-MODE-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CAN-TP-CHANNEL-MODE-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FULL-DUPLEX-MODE">
            <xsd:annotation>
               <xsd:documentation>full duplex channel mode</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CanTpChannelModeType.fullDuplexMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HALF-DUPLEX-MODE">
            <xsd:annotation>
               <xsd:documentation>half duplex channel mode</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CanTpChannelModeType.halfDuplexMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CATEGORY-STRING">
      <xsd:annotation>
         <xsd:documentation>This represents the pattern applicable to categories.

It is basically the same as Identifier but has a different semantics. Therefore it is modeled as a primitive of its own.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CategoryString";xml.xsd.customType="CATEGORY-STRING";xml.xsd.pattern="[a-zA-Z][a-zA-Z0-9_]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CATEGORY-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CATEGORY-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[a-zA-Z][a-zA-Z0-9_]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CHAPTER-ENUM-BREAK">
      <xsd:annotation>
         <xsd:documentation>This allows to specify the page break policy of a paginatable element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ChapterEnumBreak"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CHAPTER-ENUM-BREAK--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CHAPTER-ENUM-BREAK--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BREAK">
            <xsd:annotation>
               <xsd:documentation>This indicates the a page break shall be applied before the current block.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ChapterEnumBreak.break"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-BREAK">
            <xsd:annotation>
               <xsd:documentation>This indicates that there is no need to force a page break before this block.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ChapterEnumBreak.noBreak"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="COMMUNICATION-DIRECTION-TYPE">
      <xsd:annotation>
         <xsd:documentation>Describes the communication direction.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CommunicationDirectionType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:COMMUNICATION-DIRECTION-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="COMMUNICATION-DIRECTION-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IN">
            <xsd:annotation>
               <xsd:documentation>Reception (Input)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CommunicationDirectionType.in"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OUT">
            <xsd:annotation>
               <xsd:documentation>Transmission (Output)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CommunicationDirectionType.out"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CONTAINED-I-PDU-COLLECTION-SEMANTICS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the collection semantics for ContainedIPdus.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ContainedIPduCollectionSemanticsEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CONTAINED-I-PDU-COLLECTION-SEMANTICS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CONTAINED-I-PDU-COLLECTION-SEMANTICS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LAST-IS-BEST">
            <xsd:annotation>
               <xsd:documentation>The ContainedIPdu data will be fetched via TriggerTransmit just before the transmission executes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ContainedIPduCollectionSemanticsEnum.lastIsBest"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="QUEUED">
            <xsd:annotation>
               <xsd:documentation>The ContainedIPdu data will instantly be stored to the ContainerIPdu in the context of the Transmit API.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ContainedIPduCollectionSemanticsEnum.queued"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CONTAINER-I-PDU-HEADER-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Is used to define the header type and size of ContainerIPdus. The header size includes the header id and the length information.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPduHeaderTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CONTAINER-I-PDU-HEADER-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CONTAINER-I-PDU-HEADER-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LONG-HEADER">
            <xsd:annotation>
               <xsd:documentation>Header size is 64 bit:
* Header Id 32 bit
* Dlc 32 bit</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ContainerIPduHeaderTypeEnum.longHeader"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHORT-HEADER">
            <xsd:annotation>
               <xsd:documentation>Header size is 32 bit:
* Header Id 24 bit
* Dlc 8 bit.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ContainerIPduHeaderTypeEnum.shortHeader"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CONTAINER-I-PDU-TRIGGER-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines when the transmission of the ContainerIPdu shall be requested.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ContainerIPduTriggerEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CONTAINER-I-PDU-TRIGGER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CONTAINER-I-PDU-TRIGGER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFAULT-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>Defines that the transmission of the ContainerIPdu shall be requested when the default trigger conditions apply (e.g. timeout of threshold).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ContainerIPduTriggerEnum.defaultTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIRST-CONTAINED-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>Defines that the transmission of the ContainerIPdu shall be requested right after the first ContainedIPdu was put into the ContainerIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ContainerIPduTriggerEnum.firstContainedTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="COUPLING-ELEMENT-ENUM">
      <xsd:annotation>
         <xsd:documentation>Identifies the Coupling type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingElementEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:COUPLING-ELEMENT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="COUPLING-ELEMENT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HUB">
            <xsd:annotation>
               <xsd:documentation>A device that is used to connect segments of a LAN. In Hubs frames are "broadcasted" to every one of its ports.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CouplingElementEnum.hub"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROUTER">
            <xsd:annotation>
               <xsd:documentation>A device that routes frames between different networks.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CouplingElementEnum.router"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SWITCH">
            <xsd:annotation>
               <xsd:documentation>A device that filters and forwards frames between different LAN segments.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="CouplingElementEnum.switch"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="COUPLING-PORT-RATE-POLICY-ACTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the action to be performed when a rate policy is violated.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRatePolicyActionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:COUPLING-PORT-RATE-POLICY-ACTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="COUPLING-PORT-RATE-POLICY-ACTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BLOCK-SOURCE">
            <xsd:annotation>
               <xsd:documentation>If the rate policy is violated the CouplingPort this CouplingPortRatePolicy is defined on shall block all frames from the MAC-Address the violation was caused by.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CouplingPortRatePolicyActionEnum.blockSource"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DROP-FRAME">
            <xsd:annotation>
               <xsd:documentation>If the rate policy is violated the frame shall be dropped.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CouplingPortRatePolicyActionEnum.dropFrame"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="COUPLING-PORT-ROLE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the role a CouplingPort takes in the context of a CouplingElement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CouplingPortRoleEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:COUPLING-PORT-ROLE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="COUPLING-PORT-ROLE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HOST-PORT">
            <xsd:annotation>
               <xsd:documentation>The hostPort is connected to an ECU (host ecu). The host ECU controls the connected CouplingElement (e.g. Ethernet switch).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CouplingPortRoleEnum.hostPort"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STANDARD-PORT">
            <xsd:annotation>
               <xsd:documentation>A CoupingPort can be a standardPort that is used to connect the CouplingElement with CouplingPorts outside the ECU.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="CouplingPortRoleEnum.standardPort"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UP-LINK-PORT">
            <xsd:annotation>
               <xsd:documentation>A CouplingPort can be connected to another CouplingPort of a CouplingElement located on the same ECU (CouplingElement.ecuInstance) using the CouplingPortConnection. This is used to model a cascaded switch.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CouplingPortRoleEnum.upLinkPort"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="CSE-CODE-TYPE-STRING">
      <xsd:annotation>
         <xsd:documentation>This primitive represents an ASAM CSE (Codes for Scaling Units) based on the definition in the ASAM-MCD-2MC-ASAP2  specification.

The particular semantics is specified in [TPS_GST_00354].</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CseCodeType";xml.xsd.customType="CSE-CODE-TYPE-STRING";xml.xsd.type="unsignedInt"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CSE-CODE-TYPE-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CSE-CODE-TYPE-STRING--SIMPLE">
      <xsd:restriction base="xsd:unsignedInt"/>
   </xsd:simpleType>
   <xsd:complexType name="CYCLE-REPETITION-TYPE">
      <xsd:annotation>
         <xsd:documentation>The number of communication cycles (after the first cycle) whenever the frame is sent again. The FlexRay communication controller allows only determined values.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="CycleRepetitionType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:CYCLE-REPETITION-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="CYCLE-REPETITION-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CYCLE-REPETITION-1">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="1"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="CycleRepetitionType.cycleRepetition1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-10">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="10"

to support FlexRay 3.0</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="CycleRepetitionType.cycleRepetition10"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-16">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="16"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="CycleRepetitionType.cycleRepetition16"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-2">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="2"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="CycleRepetitionType.cycleRepetition2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-20">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="20"

to support FlexRay 3.0</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="CycleRepetitionType.cycleRepetition20"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-32">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="32"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="CycleRepetitionType.cycleRepetition32"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-4">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="4"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="CycleRepetitionType.cycleRepetition4"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-40">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="40"

to support FlexRay 3.0</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="CycleRepetitionType.cycleRepetition40"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-5">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="5"

to support FlexRay 3.0</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";mmt.qualifiedName="CycleRepetitionType.cycleRepetition5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-50">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="50"

to support FlexRay 3.0</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";mmt.qualifiedName="CycleRepetitionType.cycleRepetition50"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-64">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="64"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="10";mmt.qualifiedName="CycleRepetitionType.cycleRepetition64"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CYCLE-REPETITION-8">
            <xsd:annotation>
               <xsd:documentation>Attribute cycleRepetition value="8"

valid only for FlexRay Protocol 2.1 Rev A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="11";mmt.qualifiedName="CycleRepetitionType.cycleRepetition8"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-EXCHANGE-POINT-KIND">
      <xsd:annotation>
         <xsd:documentation>Specifies the kind of a DataExchangePoint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataExchangePointKind"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-EXCHANGE-POINT-KIND--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-EXCHANGE-POINT-KIND--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AGREED">
            <xsd:annotation>
               <xsd:documentation>the data exchange point description represents the agreed data exchange point that should be used during data exchange</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DataExchangePointKind.agreed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CONSUMER">
            <xsd:annotation>
               <xsd:documentation>the data exchange point description represents the input of a consuming tool.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataExchangePointKind.consumer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRODUCER">
            <xsd:annotation>
               <xsd:documentation>the data exchange point description represents the output of a producing tool.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataExchangePointKind.producer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-FILTER-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enum specifies the supported DataFilterTypes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataFilterTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-FILTER-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-FILTER-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALWAYS">
            <xsd:annotation>
               <xsd:documentation>No filtering is performed so that the message always passes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataFilterTypeEnum.always"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MASKED-NEW-DIFFERS-MASKED-OLD">
            <xsd:annotation>
               <xsd:documentation>Pass messages where the masked value has changed.

(new_value&amp;mask) !=(old_value&amp;mask)
new_value: current value of the message
old_value: last value of the message (initialized with the initial value of the message, updated with new_value if the new message value is not filtered out)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataFilterTypeEnum.maskedNewDiffersMaskedOld"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MASKED-NEW-DIFFERS-X">
            <xsd:annotation>
               <xsd:documentation>Pass messages whose masked value is not equal to a specific value x

(new_value&amp;mask) != x
new_value: current value of the message</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DataFilterTypeEnum.maskedNewDiffersX"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MASKED-NEW-EQUALS-X">
            <xsd:annotation>
               <xsd:documentation>Pass messages whose masked value is equal to a specific value x

(new_value&amp;mask) == x
new_value: current value of the message</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DataFilterTypeEnum.maskedNewEqualsX"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NEVER">
            <xsd:annotation>
               <xsd:documentation>The filter removes all messages.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DataFilterTypeEnum.never"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NEW-IS-OUTSIDE">
            <xsd:annotation>
               <xsd:documentation>Pass a message if its value is outside a predefined boundary.

(min &gt; new_value) OR (new_value &gt; max)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="DataFilterTypeEnum.newIsOutside"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NEW-IS-WITHIN">
            <xsd:annotation>
               <xsd:documentation>Pass a message if its value is within a predefined boundary.

min &lt;= new_value &lt;= max</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="DataFilterTypeEnum.newIsWithin"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ONE-EVERY-N">
            <xsd:annotation>
               <xsd:documentation>Pass a message once every N message occurrences.
Algorithm: occurrence % period == offset
Start: occurrence = 0.
Each time the message is received or transmitted, occurrence is incremented by 1 after filtering.
Length of occurrence is 8 bit (minimum).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="DataFilterTypeEnum.oneEveryN"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-ID-MODE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Supported inclusion modes to include the implicit two-byte Data ID in the one-byte CRC.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataIdModeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-ID-MODE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-ID-MODE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALL-16-BIT">
            <xsd:annotation>
               <xsd:documentation>Two bytes are included in the CRC (double ID configuration).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataIdModeEnum.all16Bit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ALTERNATING-8-BIT">
            <xsd:annotation>
               <xsd:documentation>One of the two bytes byte is included, alternating high and low byte, depending on parity of the counter (alternating ID configuration). For even counter low byte is included; For odd counters the high byte is included.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataIdModeEnum.alternating8Bit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LOWER-12-BIT">
            <xsd:annotation>
               <xsd:documentation>The low byte is included in the implicit CRC calculation, the low nibble of the high byte is transmitted along with the data (i.e. it is explicitly included), the high nibble of the high byte is not used. This is applicable for the IDs up to 12 bits.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DataIdModeEnum.lower12Bit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LOWER-8-BIT">
            <xsd:annotation>
               <xsd:documentation>Only low byte is included, high byte is never used. This is applicable if the IDs in a particular system are 8 bits.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DataIdModeEnum.lower8Bit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-LIMIT-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>Indicates whether the data element carries a minimum or maximum value, thereby limiting the current range of another value.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataLimitKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-LIMIT-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-LIMIT-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MAX">
            <xsd:annotation>
               <xsd:documentation>Limitation to maximum value</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataLimitKindEnum.max"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MIN">
            <xsd:annotation>
               <xsd:documentation>Limitation to minimum value</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataLimitKindEnum.min"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No limitation applicable</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DataLimitKindEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-TRANSFORMATION-ERROR-HANDLING-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines different ways how runnables shall handle transformer errors.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformationErrorHandlingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-TRANSFORMATION-ERROR-HANDLING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-TRANSFORMATION-ERROR-HANDLING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-TRANSFORMER-ERROR-HANDLING">
            <xsd:annotation>
               <xsd:documentation>A runnable does not handle transformer errors.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataTransformationErrorHandlingEnum.noTransformerErrorHandling"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRANSFORMER-ERROR-HANDLING">
            <xsd:annotation>
               <xsd:documentation>The runnable implements the handling of transformer errors.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataTransformationErrorHandlingEnum.transformerErrorHandling"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-TRANSFORMATION-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration contributes to the definition of the scope of the DataTransformation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTransformationKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-TRANSFORMATION-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-TRANSFORMATION-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ASYMMETRIC-FROM-BYTE-ARRAY">
            <xsd:annotation>
               <xsd:documentation>The DataTransformation shall only be applied to the receiving end only, i.e. transform from byte array to data type.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataTransformationKindEnum.asymmetricFromByteArray"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ASYMMETRIC-TO-BYTE-ARRAY">
            <xsd:annotation>
               <xsd:documentation>The DataTransformation shall be applied to the sending end only, i.e. from data type to byte array.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataTransformationKindEnum.asymmetricToByteArray"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYMMETRIC">
            <xsd:annotation>
               <xsd:documentation>The DataTransformation shall be applied at both the sending and the receiving end of the communication.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DataTransformationKindEnum.symmetric"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATA-TYPE-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This class lists the supported DataTypePolicies.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DataTypePolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATA-TYPE-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATA-TYPE-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LEGACY">
            <xsd:annotation>
               <xsd:documentation>In case the System Description doesn't use a complete Software Component Description (VFB View) this value can be chosen. This supports the inclusion of legacy signals. 

The aggregation of SwDataDefProps shall be used to configure the "ComSignalDataInvalidValue" and the Data Semantics.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DataTypePolicyEnum.legacy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NETWORK-REPRESENTATION-FROM-COM-SPEC">
            <xsd:annotation>
               <xsd:documentation>Ignore any networkRepresentationProps of this ISignal and use the networkRepresentation from the ComSpec.

Please note that the usage does not imply the existence of the SwDataDefProps in the role networkRepresentation aggregated by the SenderComSpec or ReceiverComSpec if an ImplementationDataType is defined.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DataTypePolicyEnum.networkRepresentationFromComSpec"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OVERRIDE">
            <xsd:annotation>
               <xsd:documentation>If this value is chosen the requirements specified in the ComSpec (networkRepresentationFromComSpec) are not fullfilled by the aggregated SwDataDefProps. In this case the networkRepresentation is specified by the aggregated swDataDefProps.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DataTypePolicyEnum.override"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PORT-INTERFACE-DEFINITION">
            <xsd:annotation>
               <xsd:documentation>This enumeration literal is deprecated and will be removed in future.

Old description:
Ignore any networkRepresentationProps of this ISignal and use the networkRepresentation specified in the VariableDataPrototypes owned by PortInterface (portInterfaceDefinition).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";atp.Status="removed";mmt.qualifiedName="DataTypePolicyEnum.portInterfaceDefinition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRANSFORMING-I-SIGNAL">
            <xsd:annotation>
               <xsd:documentation>This literal indicates that a transformer chain shall be used to communicate the ISignal as UINT8_N over the bus.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DataTypePolicyEnum.transformingISignal"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DATE">
      <xsd:annotation>
         <xsd:documentation>A datatype representing a timestamp. The smallest granularity is 1 second.

This datatype represents a timestamp in the format yyyy-mm-dd followed by an optional time. The lead-in character for the time is "T" and the format is hh:mm:ss. In addition, a time zone designator must be specified. The time zone designator can either be "Z" (for UTC) or the time offset to UTC, i.e. (+|-)hh:mm.

Examples:

2009-07-23

2009-07-23T14:38:00+01:00

2009-07-23T13:38:00Z</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DateTime";xml.xsd.customType="DATE";xml.xsd.pattern="([0-9]{4}-[0-9]{2}-[0-9]{2})(T[0-9]{2}:[0-9]{2}:[0-9]{2}(Z|([+\-][0-9]{2}:[0-9]{2})))?";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DATE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DATE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="([0-9]{4}-[0-9]{2}-[0-9]{2})(T[0-9]{2}:[0-9]{2}:[0-9]{2}(Z|([+\-][0-9]{2}:[0-9]{2})))?"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DEFAULT-VALUE-APPLICATION-STRATEGY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Enumeration that describes how to handle AUTOSAR defined default values.
If the strategy requires application of the AUTOSAR defined default value, then the value shall be added before further validation or processing.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DefaultValueApplicationStrategyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DEFAULT-VALUE-APPLICATION-STRATEGY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DEFAULT-VALUE-APPLICATION-STRATEGY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFAULT-IF-REVISION-UPDATE">
            <xsd:annotation>
               <xsd:documentation>If the AUTOSAR model is older than the Baseline of the Data Exchange Point and the older version did not yet support the attribute, then the AUTOSAR defined default value SHALL be applied before further validation or processing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DefaultValueApplicationStrategyEnum.defaultIfRevisionUpdate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEFAULT-IF-UNDEFINED">
            <xsd:annotation>
               <xsd:documentation>If the AUTOSAR model does not explicitly specify a value, then the apply the AUTOSAR defined default value  before further validation or processing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DefaultValueApplicationStrategyEnum.defaultIfUndefined"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-DEFAULT">
            <xsd:annotation>
               <xsd:documentation>do not apply the AUTOSAR defined default value</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DefaultValueApplicationStrategyEnum.noDefault"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DEPENDENCY-USAGE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Enumeration describing the process steps a dependency is valid in.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DependencyUsageEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DEPENDENCY-USAGE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DEPENDENCY-USAGE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BUILD">
            <xsd:annotation>
               <xsd:documentation>The object referred by the dependency is required during the build process.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DependencyUsageEnum.build"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CODEGENERATION">
            <xsd:annotation>
               <xsd:documentation>The object referred by the dependency is required during code generation</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DependencyUsageEnum.codegeneration"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="COMPILE">
            <xsd:annotation>
               <xsd:documentation>The object referred by the dependency is required during compilation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DependencyUsageEnum.compile"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXECUTE">
            <xsd:annotation>
               <xsd:documentation>The object referred by the dependency is required at execution time.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DependencyUsageEnum.execute"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LINK">
            <xsd:annotation>
               <xsd:documentation>The object referred by the dependency is required during linking.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DependencyUsageEnum.link"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAG-PDU-TYPE">
      <xsd:annotation>
         <xsd:documentation>Used to distinguish a diagnostic request from a response.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagPduType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAG-PDU-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAG-PDU-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIAG-REQUEST">
            <xsd:annotation>
               <xsd:documentation>Diagnostic Request</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagPduType.diagRequest"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DIAG-RESPONSE">
            <xsd:annotation>
               <xsd:documentation>Diagnostic Response</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagPduType.diagResponse"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAG-REQUIREMENT-ID-STRING">
      <xsd:annotation>
         <xsd:documentation>This string denotes an Identifier for a requirement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagRequirementIdString";xml.xsd.customType="DIAG-REQUIREMENT-ID-STRING";xml.xsd.pattern="[0-9a-zA-Z_\-]+";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAG-REQUIREMENT-ID-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAG-REQUIREMENT-ID-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[0-9a-zA-Z_\-]+"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-ACCESS-PERMISSION-VALIDITY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides settings for how the accessPermission shall be resolved between DiagnosticServiceInstance and DiagnosticServiceClass.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAccessPermissionValidityEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-ACCESS-PERMISSION-VALIDITY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ACCESS-PERMISSION-VALIDITY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACCES-PERRMISSION-SERVICE-CLASS">
            <xsd:annotation>
               <xsd:documentation>This means that the DiagnosticServiceClass is in charge to define the accessPermission.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";atp.Status="removed";mmt.qualifiedName="DiagnosticAccessPermissionValidityEnum.accesPerrmissionServiceClass"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACCESS-PERMISSION-INSTANCE-OVERRIDES-CLASS">
            <xsd:annotation>
               <xsd:documentation>This means that accessPermission set at the DiagnosticServiceInstance will override the accessPermission defined at the DiagnosticServiceClass.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticAccessPermissionValidityEnum.accessPermissionInstanceOverridesClass"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACCESS-PERMISSION-SERVICE-CLASS">
            <xsd:annotation>
               <xsd:documentation>This means that the DiagnosticServiceClass is in charge to define the accessPermission.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticAccessPermissionValidityEnum.accessPermissionServiceClass"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACCESS-PERMISSION-SERVICE-INSTANCE">
            <xsd:annotation>
               <xsd:documentation>This means that the DiagnosticServiceInstance is in charge of defining the accessPermission</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticAccessPermissionValidityEnum.accessPermissionServiceInstance"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-AUDIENCE-ENUM">
      <xsd:annotation>
         <xsd:documentation>The possible values of the intended audience for a diagnostic object.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticAudienceEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-AUDIENCE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-AUDIENCE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AFTER-SALES">
            <xsd:annotation>
               <xsd:documentation>The object is relevant for the OEM after-sales organization.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticAudienceEnum.afterSales"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AFTERMAKET">
            <xsd:annotation>
               <xsd:documentation>The object is for free aftermarket service organizations.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";atp.Status="removed";mmt.qualifiedName="DiagnosticAudienceEnum.aftermaket"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AFTERMARKET">
            <xsd:annotation>
               <xsd:documentation>The object is for free aftermarket service organizations.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticAudienceEnum.aftermarket"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEVELOPMENT">
            <xsd:annotation>
               <xsd:documentation>The object is relevant for engineering only.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticAudienceEnum.development"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MANUFACTURING">
            <xsd:annotation>
               <xsd:documentation>The object is relevant for manufacturing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticAudienceEnum.manufacturing"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SUPPLIER">
            <xsd:annotation>
               <xsd:documentation>The object is relevant for the ECU-supplier aftermarket organization.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="DiagnosticAudienceEnum.supplier"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-CLEAR-DTC-LIMITATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Scope of the DEM_ClearDTC Api.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticClearDtcLimitationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-CLEAR-DTC-LIMITATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CLEAR-DTC-LIMITATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALL-SUPPORTED-DTCS">
            <xsd:annotation>
               <xsd:documentation>DEM_ClearDtc API accepts all supported DTC values.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticClearDtcLimitationEnum.allSupportedDtcs"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CLEAR-ALL-DTCS">
            <xsd:annotation>
               <xsd:documentation>DEM_ClearDtc API accepts ClearAllDTCs only.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticClearDtcLimitationEnum.clearAllDtcs"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-CLEAR-EVENT-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Possible behavior for clearing events.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticClearEventBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-CLEAR-EVENT-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CLEAR-EVENT-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-STATUS-BYTE-CHANGE">
            <xsd:annotation>
               <xsd:documentation>The event status byte keeps unchanged.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticClearEventBehaviorEnum.noStatusByteChange"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ONLY-THIS-CYCLE-AND-READINESS">
            <xsd:annotation>
               <xsd:documentation>The OperationCycle and readiness bits of the event status byte are reset.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticClearEventBehaviorEnum.onlyThisCycleAndReadiness"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-COMPARE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Enumeration for the type of a comparison of values usually expressed by the following operators: ==, !=, &lt;, &lt;=, &gt;, &gt;=</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticCompareTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-COMPARE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-COMPARE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IS-EQUAL">
            <xsd:annotation>
               <xsd:documentation>equal</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticCompareTypeEnum.isEqual"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IS-GREATER-OR-EQUAL">
            <xsd:annotation>
               <xsd:documentation>greater than or equal</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="DiagnosticCompareTypeEnum.isGreaterOrEqual"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IS-GREATER-THAN">
            <xsd:annotation>
               <xsd:documentation>greater than</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticCompareTypeEnum.isGreaterThan"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IS-LESS-OR-EQUAL">
            <xsd:annotation>
               <xsd:documentation>less than or equal</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticCompareTypeEnum.isLessOrEqual"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IS-LESS-THAN">
            <xsd:annotation>
               <xsd:documentation>less than</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticCompareTypeEnum.isLessThan"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IS-NOT-EQUAL">
            <xsd:annotation>
               <xsd:documentation>not equal</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticCompareTypeEnum.isNotEqual"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-CONNECTED-INDICATOR-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Behavior of the indicator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticConnectedIndicatorBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-CONNECTED-INDICATOR-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-CONNECTED-INDICATOR-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BLINK-MODE">
            <xsd:annotation>
               <xsd:documentation>The indicator blinks when the event has status FAILED.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticConnectedIndicatorBehaviorEnum.blinkMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BLINK-OR-CONTINUOUS-ON-MODE">
            <xsd:annotation>
               <xsd:documentation>The indicator is active and blinks when the event has status FAILED.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticConnectedIndicatorBehaviorEnum.blinkOrContinuousOnMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CONTINUOUS-ON-MODE">
            <xsd:annotation>
               <xsd:documentation>The indicator is active when the event has status FAILED.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticConnectedIndicatorBehaviorEnum.continuousOnMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FAST-FLASHING-MODE">
            <xsd:annotation>
               <xsd:documentation>Flash Indicator Lamp should be set to "Fast Flash".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticConnectedIndicatorBehaviorEnum.fastFlashingMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SLOW-FLASHING-MODE">
            <xsd:annotation>
               <xsd:documentation>Flash Indicator Lamp should be set to "Slow Flash".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticConnectedIndicatorBehaviorEnum.slowFlashingMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-DATA-CAPTURE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Data triggering types</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDataCaptureEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-DATA-CAPTURE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DATA-CAPTURE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAPTURE-ASYNCHRONOUSLY-TO-REPORTING">
            <xsd:annotation>
               <xsd:documentation>This represents the intention to capture the environment data asynchronously after the actual capture API function terminated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticDataCaptureEnum.captureAsynchronouslyToReporting"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAPTURE-SYNCHRONOUSLY-TO-REPORTING">
            <xsd:annotation>
               <xsd:documentation>This represents the intention to capture the environment data synchronously within the capture API function.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticDataCaptureEnum.captureSynchronouslyToReporting"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-DEBOUNCE-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Event debounce algorithm behavior options.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDebounceBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-DEBOUNCE-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DEBOUNCE-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FREEZE">
            <xsd:annotation>
               <xsd:documentation>The event debounce counter will be frozen with the current value and will not change while a related enable condition is not fulfilled or ControlDTCSetting of the related event is disabled. After all related enable conditions are fulfilled and ControlDTCSetting of the related event is enabled again, the event qualification will continue with the next report of the event (i.e. SetEventStatus).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticDebounceBehaviorEnum.freeze"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RESET">
            <xsd:annotation>
               <xsd:documentation>The event debounce counter will be reset to initial value if a related enable condition is not fulfilled or
ControlDTCSetting of the related event is disabled. The qualification of the event will be restarted with the next valid event report.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticDebounceBehaviorEnum.reset"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-SUBFUNCTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class contains a list of possible subfunctions for the UDS service 0x2C.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierSubfunctionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-SUBFUNCTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-DYNAMICALLY-DEFINE-DATA-IDENTIFIER-SUBFUNCTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLEAR-DYNAMICALLY-DEFINE-DATA-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>Clear the specified dynamic data identifier.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierSubfunctionEnum.clearDynamicallyDefineDataIdentifier"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEFINE-BY-IDENTIFIER">
            <xsd:annotation>
               <xsd:documentation>The definition of dynamic data identifier shall be done via a reference to a diagnostic data identifier.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierSubfunctionEnum.defineByIdentifier"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEFINE-BY-MEMORY-ADDRESS">
            <xsd:annotation>
               <xsd:documentation>The definition of dynamic data identifier shall be done via a reference to a memory address.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticDynamicallyDefineDataIdentifierSubfunctionEnum.defineByMemoryAddress"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-EVENT-CLEAR-ALLOWED-ENUM">
      <xsd:annotation>
         <xsd:documentation>Denotes whether clearing of events is allowed.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventClearAllowedEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-EVENT-CLEAR-ALLOWED-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EVENT-CLEAR-ALLOWED-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALWAYS">
            <xsd:annotation>
               <xsd:documentation>The clearing is allowed unconditionally.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticEventClearAllowedEnum.always"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NEVER">
            <xsd:annotation>
               <xsd:documentation>The clearing is never allowed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";mmt.qualifiedName="DiagnosticEventClearAllowedEnum.never"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REQUIRES-CALLBACK-EXECUTION">
            <xsd:annotation>
               <xsd:documentation>In case the clearing of a Diagnostic Event has to be allowed or prohibited through the SWC interface CallbackClearEventAllowed, the SWC has to indicate this by defining appropriate ServiceNeeds (i.e. DiagnosticEventNeeds).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticEventClearAllowedEnum.requiresCallbackExecution"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-EVENT-DISPLACEMENT-STRATEGY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the displacement strategy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventDisplacementStrategyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-EVENT-DISPLACEMENT-STRATEGY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EVENT-DISPLACEMENT-STRATEGY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FULL">
            <xsd:annotation>
               <xsd:documentation>Event memory entry displacement is enabled, by consideration of priority active/passive status, and occurrence.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticEventDisplacementStrategyEnum.full"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>Event memory entry displacement is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticEventDisplacementStrategyEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRIO-OCC">
            <xsd:annotation>
               <xsd:documentation>Event memory entry displacement is enabled, by consideration of priority and occurrence (but without active/passive status).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticEventDisplacementStrategyEnum.prioOcc"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-EVENT-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>Applicability of the diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-EVENT-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EVENT-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW">
            <xsd:annotation>
               <xsd:documentation>The event is assigned to a BSW module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticEventKindEnum.bsw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SWC">
            <xsd:annotation>
               <xsd:documentation>The event is assigned to a SWC.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticEventKindEnum.swc"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-EVENT-WINDOW-TIME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define the semantics of the event window.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticEventWindowTimeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-EVENT-WINDOW-TIME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-EVENT-WINDOW-TIME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EVENT-WINDOW-CURRENT-AND-FOLLOWING-CYCLE">
            <xsd:annotation>
               <xsd:documentation>This means that the window extends to this and the following cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticEventWindowTimeEnum.eventWindowCurrentAndFollowingCycle"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EVENT-WINDOW-CURRENT-CYCLE">
            <xsd:annotation>
               <xsd:documentation>This means that the window is limited to the current cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticEventWindowTimeEnum.eventWindowCurrentCycle"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EVENT-WINDOW-INFINITE">
            <xsd:annotation>
               <xsd:documentation>This means that the window extents without a border.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticEventWindowTimeEnum.eventWindowInfinite"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-HANDLE-DDDI-CONFIGURATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the options for controlling how the configuration of the DynamicallyDefineDataIdentifiers is done in the given context.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticHandleDDDIConfigurationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-HANDLE-DDDI-CONFIGURATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-HANDLE-DDDI-CONFIGURATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NON-VOLATILE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the configuration of DynamicallyDefineDataIdentifier shall be stored as non-volatile data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticHandleDDDIConfigurationEnum.nonVolatile"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VOLATILE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the configuration of DynamicallyDefineDataIdentifier shall be handled as volatile data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticHandleDDDIConfigurationEnum.volatile"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-INDICATOR-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Type of an indicator.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticIndicatorTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-INDICATOR-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-INDICATOR-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AMBER-WARNING">
            <xsd:annotation>
               <xsd:documentation>Amber Warning Lamp</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticIndicatorTypeEnum.amberWarning"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MALFUNCTION">
            <xsd:annotation>
               <xsd:documentation>Malfunction Indicator Lamp</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticIndicatorTypeEnum.malfunction"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PROTECT-LAMP">
            <xsd:annotation>
               <xsd:documentation>Protect Lamp</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticIndicatorTypeEnum.protectLamp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RED-STOP-LAMP">
            <xsd:annotation>
               <xsd:documentation>Red Stop Lamp</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticIndicatorTypeEnum.redStopLamp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WARNING">
            <xsd:annotation>
               <xsd:documentation>Warning</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticIndicatorTypeEnum.warning"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-INHIBITION-MASK-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define different kinds of inhibition mask behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticInhibitionMaskEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-INHIBITION-MASK-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-INHIBITION-MASK-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LAST-FAILED">
            <xsd:annotation>
               <xsd:documentation>This represents the inhibition mask behavior "last failed".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticInhibitionMaskEnum.lastFailed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NOT-TESTED">
            <xsd:annotation>
               <xsd:documentation>This represents the inhibition mask behavior "not tested".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticInhibitionMaskEnum.notTested"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TESTED">
            <xsd:annotation>
               <xsd:documentation>This represents the inhibition mask behavior "tested".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticInhibitionMaskEnum.tested"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TESTED-AND-FAILED">
            <xsd:annotation>
               <xsd:documentation>This represents the inhibition mask behavior "tested and failed".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticInhibitionMaskEnum.testedAndFailed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-INITIAL-EVENT-STATUS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define an initial status for the ROE service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticInitialEventStatusEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-INITIAL-EVENT-STATUS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-INITIAL-EVENT-STATUS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RETURN-ON-EVENT-CLEARED">
            <xsd:annotation>
               <xsd:documentation>This means that the ResponseOnEvent is initially cleared.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticInitialEventStatusEnum.returnOnEventCleared"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RETURN-ON-EVENT-STOPPED">
            <xsd:annotation>
               <xsd:documentation>This means that the ResponseOnEvent is initially stopped.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticInitialEventStatusEnum.returnOnEventStopped"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-JUMP-TO-BOOT-LOADER-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration contains the options for jumping to a boot loader.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticJumpToBootLoaderEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-JUMP-TO-BOOT-LOADER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-JUMP-TO-BOOT-LOADER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-BOOT">
            <xsd:annotation>
               <xsd:documentation>This diagnostic session doesn't allow to jump to Bootloader.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticJumpToBootLoaderEnum.noBoot"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OEM-BOOT">
            <xsd:annotation>
               <xsd:documentation>This diagnostic session allows to jump to OEM Bootloader. In this case the bootloader send the final response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticJumpToBootLoaderEnum.oemBoot"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OEM-BOOT-RESP-APP">
            <xsd:annotation>
               <xsd:documentation>This diagnostic session allows to jump to OEM Bootloader and application sends final response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticJumpToBootLoaderEnum.oemBootRespApp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYSTEM-SUPPLIER-BOOT">
            <xsd:annotation>
               <xsd:documentation>This diagnostic session allows to jump to System Supplier Bootloader.  In this case the bootloader send the final response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticJumpToBootLoaderEnum.systemSupplierBoot"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYSTEM-SUPPLIER-BOOT-RESP-APP">
            <xsd:annotation>
               <xsd:documentation>This diagnostic session allows to jump to System Supplier Bootloader and application sends final response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticJumpToBootLoaderEnum.systemSupplierBootRespApp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-LOGICAL-OPERATOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Logical AND and OR operation (&amp;&amp;, ||)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticLogicalOperatorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-LOGICAL-OPERATOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-LOGICAL-OPERATOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LOGICAL-AND">
            <xsd:annotation>
               <xsd:documentation>Logical AND</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticLogicalOperatorEnum.logicalAnd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LOGICAL-OR">
            <xsd:annotation>
               <xsd:documentation>Logical OR</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticLogicalOperatorEnum.logicalOr"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-MEMORY-ENTRY-STORAGE-TRIGGER-ENUM">
      <xsd:annotation>
         <xsd:documentation>Trigger types to allocate an event memory entry.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticMemoryEntryStorageTriggerEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-MEMORY-ENTRY-STORAGE-TRIGGER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-MEMORY-ENTRY-STORAGE-TRIGGER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONFIRMED">
            <xsd:annotation>
               <xsd:documentation>Status information of UDS DTC status bit 3</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticMemoryEntryStorageTriggerEnum.confirmed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FDC-THRESHOLD">
            <xsd:annotation>
               <xsd:documentation>Threshold to allocate an event memory entry and to capture the Freeze Frame.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticMemoryEntryStorageTriggerEnum.fdcThreshold"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PENDING">
            <xsd:annotation>
               <xsd:documentation>Status information of UDS DTC status bit 2.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticMemoryEntryStorageTriggerEnum.pending"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TEST-FAILED">
            <xsd:annotation>
               <xsd:documentation>Status information of UDS DTC status bit 0.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticMemoryEntryStorageTriggerEnum.testFailed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-OBD-SUPPORT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model the roles in which a participation in OBD is foreseen. At the moment, this applies exclusively to the Dem. However, future extension of the Dcm may require this setting as well.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticObdSupportEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-OBD-SUPPORT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-OBD-SUPPORT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MASTER-ECU">
            <xsd:annotation>
               <xsd:documentation>This represent the role "master ECU".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticObdSupportEnum.masterEcu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-OBD-SUPPORT">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to explicitly specify that no participation in OBD is foreseen.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticObdSupportEnum.noObdSupport"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRIMARY-ECU">
            <xsd:annotation>
               <xsd:documentation>This represents the role "primary ECU".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticObdSupportEnum.primaryEcu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SECONDARY-ECU">
            <xsd:annotation>
               <xsd:documentation>This represents the role "secondary ECU".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticObdSupportEnum.secondaryEcu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-OCCURRENCE-COUNTER-PROCESSING-ENUM">
      <xsd:annotation>
         <xsd:documentation>The occurrence counter triggering types.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOccurrenceCounterProcessingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-OCCURRENCE-COUNTER-PROCESSING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-OCCURRENCE-COUNTER-PROCESSING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONFIRMED-DTC-BIT">
            <xsd:annotation>
               <xsd:documentation>The occurrence counter is triggered by the TestFailed bit if the fault confirmation was successful (ConfirmedDTC bit is set).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticOccurrenceCounterProcessingEnum.confirmedDtcBit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TEST-FAILED-BIT">
            <xsd:annotation>
               <xsd:documentation>The occurrence counter is only triggered by the TestFailed bit (and the fault confirmation is not considered).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticOccurrenceCounterProcessingEnum.testFailedBit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-OPERATION-CYCLE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Type of an operation cycle.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticOperationCycleTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-OPERATION-CYCLE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-OPERATION-CYCLE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IGNITION">
            <xsd:annotation>
               <xsd:documentation>Ignition ON / OFF cycle</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticOperationCycleTypeEnum.ignition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OBD-DRIVING-CYCLE">
            <xsd:annotation>
               <xsd:documentation>OBD Driving cycle</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticOperationCycleTypeEnum.obdDrivingCycle"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OTHER">
            <xsd:annotation>
               <xsd:documentation>further operation cycle</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticOperationCycleTypeEnum.other"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POWER">
            <xsd:annotation>
               <xsd:documentation>Power ON / OFF cycle</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticOperationCycleTypeEnum.power"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TIME">
            <xsd:annotation>
               <xsd:documentation>Time based operation cycle</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticOperationCycleTypeEnum.time"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WARMUP">
            <xsd:annotation>
               <xsd:documentation>OBD Warm up cycle</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="DiagnosticOperationCycleTypeEnum.warmup"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-PERIODIC-RATE-CATEGORY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class provides possible values for the setting of the periodic rate.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticPeriodicRateCategoryEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-PERIODIC-RATE-CATEGORY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-PERIODIC-RATE-CATEGORY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PERIODIC-RATE-FAST">
            <xsd:annotation>
               <xsd:documentation>This value represents a fast periodic rate.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticPeriodicRateCategoryEnum.periodicRateFast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PERIODIC-RATE-MEDIUM">
            <xsd:annotation>
               <xsd:documentation>This value represents a medium periodic rate.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticPeriodicRateCategoryEnum.periodicRateMedium"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PERIODIC-RATE-SLOW">
            <xsd:annotation>
               <xsd:documentation>This value represents a slow periodic rate.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticPeriodicRateCategoryEnum.periodicRateSlow"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-PROCESSING-STYLE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the processing style of diagnostic requests.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticProcessingStyleEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-PROCESSING-STYLE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-PROCESSING-STYLE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PROCESSING-STYLE-ASYNCHRONOUS">
            <xsd:annotation>
               <xsd:documentation>The software-component processes the request in background but still the Dcm has to issue the call again to eventually obtain the result of the request.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticProcessingStyleEnum.processingStyleAsynchronous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PROCESSING-STYLE-ASYNCHRONOUS-WITH-ERROR">
            <xsd:annotation>
               <xsd:documentation>The software-component processes the request in background but still the Dcm has to issue the call again to eventually obtain the result of the request or handle error code.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticProcessingStyleEnum.processingStyleAsynchronousWithError"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PROCESSING-STYLE-SYNCHRONOUS">
            <xsd:annotation>
               <xsd:documentation>The software-component is supposed to react synchronously on the request.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticProcessingStyleEnum.processingStyleSynchronous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-RECORD-TRIGGER-ENUM">
      <xsd:annotation>
         <xsd:documentation>Triggers to allocate an event memory entry.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRecordTriggerEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-RECORD-TRIGGER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-RECORD-TRIGGER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONFIRMED">
            <xsd:annotation>
               <xsd:documentation>capture on "Confirmed"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticRecordTriggerEnum.confirmed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FDC-THRESHOLD">
            <xsd:annotation>
               <xsd:documentation>capture on "FDC Threshold"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticRecordTriggerEnum.fdcThreshold"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PENDING">
            <xsd:annotation>
               <xsd:documentation>capture on "Pending"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticRecordTriggerEnum.pending"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TEST-FAILED">
            <xsd:annotation>
               <xsd:documentation>capture on "Test Failed"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticRecordTriggerEnum.testFailed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-RESPONSE-TO-ECU-RESET-ENUM">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticResponseToEcuResetEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-RESPONSE-TO-ECU-RESET-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-RESPONSE-TO-ECU-RESET-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RESPOND-AFTER-RESET">
            <xsd:annotation>
               <xsd:documentation>Answer to EcuReset service should come after the reset.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticResponseToEcuResetEnum.respondAfterReset"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RESPOND-BEFORE-RESET">
            <xsd:annotation>
               <xsd:documentation>Answer to EcuReset service should come before the reset.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticResponseToEcuResetEnum.respondBeforeReset"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-ROUTINE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the different types of diagnostic routines.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticRoutineTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-ROUTINE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-ROUTINE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ASYNCHRONOUS">
            <xsd:annotation>
               <xsd:documentation>This indicates that the diagnostic server is not blocked while the diagnostic routine is running.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticRoutineTypeEnum.asynchronous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYNCHRONOUS">
            <xsd:annotation>
               <xsd:documentation>This indicates that the diagnostic routine blocks the diagnostic server in the ECU while the routine is running.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticRoutineTypeEnum.synchronous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-SERVICE-REQUEST-CALLBACK-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to define whether a Service Request Notification was used in the role of a manufacturer or a supplier.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticServiceRequestCallbackTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-SERVICE-REQUEST-CALLBACK-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SERVICE-REQUEST-CALLBACK-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="REQUEST-CALLBACK-TYPE-MANUFACTURER">
            <xsd:annotation>
               <xsd:documentation>This represents the case that the usage of PortInterface ServiceRequestNotification has the characteristics of being used by a manufacturer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticServiceRequestCallbackTypeEnum.requestCallbackTypeManufacturer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REQUEST-CALLBACK-TYPE-SUPPLIER">
            <xsd:annotation>
               <xsd:documentation>This represents the case that the usage of PortInterface ServiceRequestNotification has the characteristics of being used by a supplier.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticServiceRequestCallbackTypeEnum.requestCallbackTypeSupplier"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-SIGNIFICANCE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Significance level of a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticSignificanceEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-SIGNIFICANCE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-SIGNIFICANCE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FAULT">
            <xsd:annotation>
               <xsd:documentation>Failure, which affects the component/ECU itself.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticSignificanceEnum.fault"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OCCURENCE">
            <xsd:annotation>
               <xsd:documentation>Issue, which indicates additional information concerning insufficient system behavior.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticSignificanceEnum.occurence"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-STATUS-BIT-HANDLING-TEST-FAILED-SINCE-LAST-CLEAR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Aging and displacement has no impact on the "TestFailedSinceLastClear" status bits.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticStatusBitHandlingTestFailedSinceLastClearEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-STATUS-BIT-HANDLING-TEST-FAILED-SINCE-LAST-CLEAR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-STATUS-BIT-HANDLING-TEST-FAILED-SINCE-LAST-CLEAR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="STATUS-BIT-AGING-AND-DISPLACEMENT">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticStatusBitHandlingTestFailedSinceLastClearEnum.statusBitAgingAndDisplacement"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STATUS-BIT-NORMAL">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticStatusBitHandlingTestFailedSinceLastClearEnum.statusBitNormal"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-TEST-RESULT-UPDATE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the update behavior of a DiagnosticTestResult.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTestResultUpdateEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-TEST-RESULT-UPDATE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TEST-RESULT-UPDATE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALWAYS">
            <xsd:annotation>
               <xsd:documentation>Any DTR result reported by the monitor is used by the Dem.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticTestResultUpdateEnum.always"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STEADY">
            <xsd:annotation>
               <xsd:documentation>The Dem accepts reported DTRs only when the configured debouncing mechanism is stable at the FAIL or PASS limit.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticTestResultUpdateEnum.steady"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-TROUBLE-CODE-J-1939-DTC-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to further specify a J1939 DTC in terms of its semantics.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTroubleCodeJ1939DtcKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-TROUBLE-CODE-J-1939-DTC-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TROUBLE-CODE-J-1939-DTC-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SERVICE-ONLY">
            <xsd:annotation>
               <xsd:documentation>this represents a DTC that is only relevant for service in a garage, reported by e.g. DM53.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticTroubleCodeJ1939DtcKindEnum.serviceOnly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STANDARD">
            <xsd:annotation>
               <xsd:documentation>This represents a non-specific DTC reported by e.g. DM1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticTroubleCodeJ1939DtcKindEnum.standard"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-TYPE-OF-DTC-SUPPORTED-ENUM">
      <xsd:annotation>
         <xsd:documentation>Supported Dtc Types</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTypeOfDtcSupportedEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-TYPE-OF-DTC-SUPPORTED-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TYPE-OF-DTC-SUPPORTED-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ISO-11992--4">
            <xsd:annotation>
               <xsd:documentation>ISO11992-4 DTC format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticTypeOfDtcSupportedEnum.iso11992_4"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ISO-14229--1">
            <xsd:annotation>
               <xsd:documentation>ISO14229-1 DTC format (3 byte format)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticTypeOfDtcSupportedEnum.iso14229_1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ISO-15031--6">
            <xsd:annotation>
               <xsd:documentation>ISO15031-6 DTC format (2 byte format)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticTypeOfDtcSupportedEnum.iso15031_6"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SAE-J-1939--73">
            <xsd:annotation>
               <xsd:documentation>SAEJ1939-73 DTC format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticTypeOfDtcSupportedEnum.saeJ1939_73"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SAE-J-2012--DA">
            <xsd:annotation>
               <xsd:documentation>SAE_J2012-DA_DTCFormat_00 (3 byte format)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticTypeOfDtcSupportedEnum.saeJ2012_da"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-TYPE-OF-FREEZE-FRAME-RECORD-NUMERATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>FreezeFrame record numeration type</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticTypeOfFreezeFrameRecordNumerationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-TYPE-OF-FREEZE-FRAME-RECORD-NUMERATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-TYPE-OF-FREEZE-FRAME-RECORD-NUMERATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CALCULATED">
            <xsd:annotation>
               <xsd:documentation>Freeze frame records will be numbered consecutive starting by 1 in their chronological order.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticTypeOfFreezeFrameRecordNumerationEnum.calculated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CONFIGURED">
            <xsd:annotation>
               <xsd:documentation>Freeze frame records will be numbered based on the given configuration in their chronological order.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticTypeOfFreezeFrameRecordNumerationEnum.configured"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-UDS-SEVERITY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Severity types for a DTC according to ISO 14229-1.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticUdsSeverityEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-UDS-SEVERITY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-UDS-SEVERITY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CHECK-AT-NEXT-HALT">
            <xsd:annotation>
               <xsd:documentation>Check at next halt.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticUdsSeverityEnum.checkAtNextHalt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IMMEDIATELY">
            <xsd:annotation>
               <xsd:documentation>Check immediately.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticUdsSeverityEnum.immediately"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MAINTENANCE-ONLY">
            <xsd:annotation>
               <xsd:documentation>Maintenance required.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticUdsSeverityEnum.maintenanceOnly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-SEVERITY">
            <xsd:annotation>
               <xsd:documentation>No severity information available.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticUdsSeverityEnum.noSeverity"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-VALUE-ACCESS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the access of the configured diagnostic current values which will be used by the Dem or Dcm module.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticValueAccessEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-VALUE-ACCESS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-VALUE-ACCESS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="READ-ONLY">
            <xsd:annotation>
               <xsd:documentation>The access to the data element is limited to read-only. This is typically used to read-out diagnostic information (e.g. current values).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticValueAccessEnum.readOnly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="READ-WRITE">
            <xsd:annotation>
               <xsd:documentation>The value of the diagnostic data element is classified as configurable (read and write access is possible).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticValueAccessEnum.readWrite"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WRITE-ONLY">
            <xsd:annotation>
               <xsd:documentation>The access to the data element is limited to write-only. This supports the use case where the Dcm just writes data to the application software without the intention to read it back,</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticValueAccessEnum.writeOnly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DIAGNOSTIC-WWH-OBD-DTC-CLASS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to model severity classes of an WWH-OBD DTC.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DiagnosticWwhObdDtcClassEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DIAGNOSTIC-WWH-OBD-DTC-CLASS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DIAGNOSTIC-WWH-OBD-DTC-CLASS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEM-DTC-WWH-OBD-CLASS-A">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the severity class A.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiagnosticWwhObdDtcClassEnum.demDtcWwhObdClassA"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEM-DTC-WWH-OBD-CLASS-B-1">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the severity class B1.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiagnosticWwhObdDtcClassEnum.demDtcWwhObdClassB1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEM-DTC-WWH-OBD-CLASS-B-2">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the severity class B2.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiagnosticWwhObdDtcClassEnum.demDtcWwhObdClassB2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEM-DTC-WWH-OBD-CLASS-C">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the severity class C.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiagnosticWwhObdDtcClassEnum.demDtcWwhObdClassC"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEM-DTC-WWH-OBD-CLASS-NO-INFORMATION">
            <xsd:annotation>
               <xsd:documentation>This attribute represents the option to intentionally not describe a dedicated severity class of an WWH-OBD DTC.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiagnosticWwhObdDtcClassEnum.demDtcWwhObdClassNoInformation"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DISCOVERY-TECHNOLOGY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Discovery technology information.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="DiscoveryTechnologyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DISCOVERY-TECHNOLOGY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DISCOVERY-TECHNOLOGY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BONJOUR">
            <xsd:annotation>
               <xsd:documentation>Bonjour Service Discovery</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DiscoveryTechnologyEnum.bonjour"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DLNA">
            <xsd:annotation>
               <xsd:documentation>DLNA UPnP Device Control Protocol Framework</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DiscoveryTechnologyEnum.dlna"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SLP">
            <xsd:annotation>
               <xsd:documentation>Service Location Protocol</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DiscoveryTechnologyEnum.slp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SOMEIP">
            <xsd:annotation>
               <xsd:documentation>Header format to be used with Remote Procedure Call (RPC) Messages in Client/Server-Communication as well as Sender/Receiver Messages.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="DiscoveryTechnologyEnum.some/ip"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SSDP">
            <xsd:annotation>
               <xsd:documentation>Simple Service Discovery Protocol (SSDP)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="DiscoveryTechnologyEnum.ssdp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DISPLAY-FORMAT-STRING">
      <xsd:annotation>
         <xsd:documentation>This is a display format specifier for the display of values  e.g. in documents or in measurement and calibration systems. 

The display format specifier is a subset of the ANSI C printf specifiers with the following
form:

  % [flags] [width] [.prec] type character 

For more details refer to "ASAM-HarmonizedDataObjects-V1.1.pdf" chapter 13.3.2 DISPLAY OF DATA. 

Due to the numerical nature of value settings, only the following type characters are allowed:

* d:  Signed decimal integer 
* i:  Signed decimal integer 
* o:  Unsigned octal integer 
* u:  Unsigned decimal integer 
* x:  Unsigned hexadecimal integer, using "abcdef" 
* X:  Unsigned hexadecimal integer, using "ABCDEF" 
* e:  Signed value having the form [-]d.dddd e [sign]ddd where d is a single decimal digit, dddd is one or more decimal digits, ddd is exactly three decimal digits, and sign is + or - 
* E:  Identical to the e format except that E rather than e introduces the exponent 
* f:  Signed value having the form [-]dddd.dddd, where dddd is one or more decimal digits; the number of digits before the decimal point depends on the magnitude of the number, and the number of digits after the decimal point depends on the requested precision 
* g:  Signed value printed in f or e format, whichever is more compact for the given value and precision; trailing zeros are truncated, and the decimal point appears only if one or more digits follow it 
* G:  Identical to the g format, except that E, rather than e, introduces the exponent (where appropriate)</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DisplayFormatString";xml.xsd.customType="DISPLAY-FORMAT-STRING";xml.xsd.pattern="%[ \-+#]?[0-9]*(\.[0-9])?[diouxXfeEgGcs]";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DISPLAY-FORMAT-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DISPLAY-FORMAT-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="%[ \-+#]?[0-9]*(\.[0-9])?[diouxXfeEgGcs]"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DO-IP-ENTITY-ROLE-ENUM">
      <xsd:annotation>
         <xsd:documentation>DoIP role a network-node has.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DoIpEntityRoleEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DO-IP-ENTITY-ROLE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DO-IP-ENTITY-ROLE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EDGE-NODE">
            <xsd:annotation>
               <xsd:documentation>Network node is a DoIP gateway that accepts external connections.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DoIpEntityRoleEnum.edgeNode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GATEWAY">
            <xsd:annotation>
               <xsd:documentation>Network node is a Gateway between the DoIP network and other networks.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DoIpEntityRoleEnum.gateway"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NODE">
            <xsd:annotation>
               <xsd:documentation>Network node is a DoIp node.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DoIpEntityRoleEnum.node"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DTC-FORMAT-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration specifies the DTC format.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DtcFormatTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DTC-FORMAT-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DTC-FORMAT-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="J-1939">
            <xsd:annotation>
               <xsd:documentation>Defines the J1939 DTC format.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DtcFormatTypeEnum.j1939"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OBD">
            <xsd:annotation>
               <xsd:documentation>Defines the OBD DTC format.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DtcFormatTypeEnum.obd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UDS">
            <xsd:annotation>
               <xsd:documentation>Defines the UDS DTC format.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="DtcFormatTypeEnum.uds"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="DTC-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines the possible kinds of diagnostic monitors regarding the OBD relevance.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="DtcKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:DTC-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="DTC-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EMISSION-RELATED-DTC">
            <xsd:annotation>
               <xsd:documentation>This indicates that the monitor reports a OBD-relevant malfunction.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="DtcKindEnum.emissionRelatedDtc"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NON-EMMISSION-RELATED-DTC">
            <xsd:annotation>
               <xsd:documentation>This indicates that the monitor reports a non-OBD-relevant malfunction.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="DtcKindEnum.nonEmmissionRelatedDtc"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="E-ENUM">
      <xsd:annotation>
         <xsd:documentation>This specifies the possible kinds of emphasis as proposal how to render it on paper or screen. Note that it would have been better to use plain, weak (italic), strong (bold), veryStrong (bolditalic) ... But users complained about this.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:E-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="E-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BOLD">
            <xsd:annotation>
               <xsd:documentation>The emphasis is preferably represented in boldface font.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EEnum.bold"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BOLDITALIC">
            <xsd:annotation>
               <xsd:documentation>The emphasis is preferably represented in boldface plus italic font.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EEnum.bolditalic"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ITALIC">
            <xsd:annotation>
               <xsd:documentation>The emphasis is preferably represented in italic font.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EEnum.italic"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PLAIN">
            <xsd:annotation>
               <xsd:documentation>The emphasis has no specific rendering. It is used if e.g. semantic information is applied to the emphasis text.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="EEnum.plain"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="E-ENUM-FONT">
      <xsd:annotation>
         <xsd:documentation>This specifies the possible kind of fonts to be used for emphasis.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EEnumFont"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:E-ENUM-FONT--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="E-ENUM-FONT--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFAULT">
            <xsd:annotation>
               <xsd:documentation>The emphasis uses the default font.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EEnumFont.default"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MONO">
            <xsd:annotation>
               <xsd:documentation>The emphasis uses a monospaced font.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EEnumFont.mono"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ECUC-AFFECTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Possible affections used by the EcucConfigurationClassAffection.

This element is removed from the specifications and shall not be used.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="EcucAffectionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ECUC-AFFECTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-AFFECTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LT-AFFECTS-PB">
            <xsd:annotation>
               <xsd:documentation>A link time parameter affecting one or several post-build time parameter(s).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EcucAffectionEnum.LTAffectsPB"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-AFFECT">
            <xsd:annotation>
               <xsd:documentation>no affect on any other parameter.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EcucAffectionEnum.NOAffect"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PC-AFFECTS-LT">
            <xsd:annotation>
               <xsd:documentation>A pre-compile time parameter affecting one or several link time parameter(s).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EcucAffectionEnum.PCAffectsLT"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PC-AFFECTS-LT-AND-PB">
            <xsd:annotation>
               <xsd:documentation>A pre-compile time parameter affecting one or several link time and post-build time parameter(s)).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="EcucAffectionEnum.PCAffectsLTAndPB"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PC-AFFECTS-PB">
            <xsd:annotation>
               <xsd:documentation>A pre-compile time parameter affecting one or several post build time parameter(s).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="EcucAffectionEnum.PCAffectsPB"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ECUC-CONFIGURATION-CLASS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Possible configuration classes for the AUTOSAR configuration parameters.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucConfigurationClassEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ECUC-CONFIGURATION-CLASS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-CONFIGURATION-CLASS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LINK">
            <xsd:annotation>
               <xsd:documentation>Link Time: parts of configuration are delivered from another object code file</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EcucConfigurationClassEnum.Link"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POST-BUILD">
            <xsd:annotation>
               <xsd:documentation>PostBuildTime: after compilation a configuration parameter can be changed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EcucConfigurationClassEnum.PostBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRE-COMPILE">
            <xsd:annotation>
               <xsd:documentation>PreCompile Time: after compilation a configuration parameter can not be changed any more.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EcucConfigurationClassEnum.PreCompile"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PUBLISHED-INFORMATION">
            <xsd:annotation>
               <xsd:documentation>PublishedInformation is used to specify the fact that certain 
information is fixed even before the pre-compile stage.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="EcucConfigurationClassEnum.PublishedInformation"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ECUC-CONFIGURATION-VARIANT-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the possible Configuration Variants used for AUTOSAR BSW Modules.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucConfigurationVariantEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ECUC-CONFIGURATION-VARIANT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-CONFIGURATION-VARIANT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PRECONFIGURED-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Preconfigured (i.e. fixed) configuration which cannot be changed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EcucConfigurationVariantEnum.PreconfiguredConfiguration"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RECOMMENDED-CONFIGURATION">
            <xsd:annotation>
               <xsd:documentation>Recommended configuration for a module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EcucConfigurationVariantEnum.RecommendedConfiguration"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIANT-LINK-TIME">
            <xsd:annotation>
               <xsd:documentation>Specifies that the BSW Module implementation may use PreCompileTime and LinkTime configuration parameters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EcucConfigurationVariantEnum.VariantLinkTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIANT-POST-BUILD">
            <xsd:annotation>
               <xsd:documentation>Specifies that the BSW Module implementation may use PreCompileTime, LinkTime and PostBuild configuration parameters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="EcucConfigurationVariantEnum.VariantPostBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIANT-POST-BUILD-LOADABLE">
            <xsd:annotation>
               <xsd:documentation>Specifies that the BSW Module implementation may use PreCompileTime, LinkTime and PostBuild loadable configuration parameters (supported in the VSMD).

This attribute is removed from the specifications and shall not be used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";atp.Status="removed";mmt.qualifiedName="EcucConfigurationVariantEnum.VariantPostBuildLoadable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIANT-POST-BUILD-SELECTABLE">
            <xsd:annotation>
               <xsd:documentation>Specifies that the BSW Module implementation may use PreCompileTime, LinkTime and PostBuild selectable configuration parameters (supported in the VSMD).

This attribute is removed from the specifications and shall not be used.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";atp.Status="removed";mmt.qualifiedName="EcucConfigurationVariantEnum.VariantPostBuildSelectable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIANT-PRE-COMPILE">
            <xsd:annotation>
               <xsd:documentation>Specifies that the BSW Module implementation uses only PreCompileTime configuration parameters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="EcucConfigurationVariantEnum.VariantPreCompile"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ECUC-DESTINATION-URI-NESTING-CONTRACT-ENUM">
      <xsd:annotation>
         <xsd:documentation>EcucDestinationUriNestingContractEnum is used to determine what is qualified by the EcucDestinationUriPolicy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucDestinationUriNestingContractEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ECUC-DESTINATION-URI-NESTING-CONTRACT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-DESTINATION-URI-NESTING-CONTRACT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LEAF-OF-TARGET-CONTAINER">
            <xsd:annotation>
               <xsd:documentation>EcucDestinationUriPolicy describes elements (subContainers, Parameters, References) that are directly owned by the target container.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EcucDestinationUriNestingContractEnum.leafOfTargetContainer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TARGET-CONTAINER">
            <xsd:annotation>
               <xsd:documentation>EcucDestinationUriPolicy describes the target container of EcucUriReferenceDef.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EcucDestinationUriNestingContractEnum.targetContainer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VERTEX-OF-TARGET-CONTAINER">
            <xsd:annotation>
               <xsd:documentation>EcucDestinationUriPolicy describes elements (subContainers, Parameters, References) of the target container which can be defined in arbitrary nested subContainer structure.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EcucDestinationUriNestingContractEnum.vertexOfTargetContainer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ECUC-SCOPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Possible scope settings for a configuration element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EcucScopeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ECUC-SCOPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ECUC-SCOPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ECU">
            <xsd:annotation>
               <xsd:documentation>An element may be shared with other modules.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EcucScopeEnum.ECU"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LOCAL">
            <xsd:annotation>
               <xsd:documentation>An element is only be applicable for the module it is defined in.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EcucScopeEnum.local"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="END-TO-END-PROFILE-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>Behavior of the check functionality</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EndToEndProfileBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:END-TO-END-PROFILE-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="END-TO-END-PROFILE-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PRE--R-4--2">
            <xsd:annotation>
               <xsd:documentation>Check has the legacy behavior, before AUTOSAR Release 4.2.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EndToEndProfileBehaviorEnum.PRE_R4_2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="R-4--2">
            <xsd:annotation>
               <xsd:documentation>Check behaves like new P4/P5/P6 profiles introduced in AUTOSAR Release 4.2.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EndToEndProfileBehaviorEnum.R4_2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ENVIRONMENT-CAPTURE-TO-REPORTING-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the ability to define the behavior of the capturing behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EnvironmentCaptureToReportingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ENVIRONMENT-CAPTURE-TO-REPORTING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ENVIRONMENT-CAPTURE-TO-REPORTING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAPTURE-ASYNCHRONOUS-TO-REPORTING">
            <xsd:annotation>
               <xsd:documentation>The data capturing is postponed to the next cycle of the Dem_Mainfunction. (This means that there is a minimum delay between report of the failure and capturing the data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EnvironmentCaptureToReportingEnum.captureAsynchronousToReporting"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAPTURE-SYNCHRONOUS-TO-REPORTING">
            <xsd:annotation>
               <xsd:documentation>The data is captured immediately within the reporting function (i.e. in the context of the setEventStatus/reportErrorStatus function).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EnvironmentCaptureToReportingEnum.captureSynchronousToReporting"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETH-GLOBAL-TIME-MESSAGE-FORMAT-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies which message formats are available to for the Ethernet time sync protocol.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthGlobalTimeMessageFormatEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETH-GLOBAL-TIME-MESSAGE-FORMAT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETH-GLOBAL-TIME-MESSAGE-FORMAT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IEEE802-1AS">
            <xsd:annotation>
               <xsd:documentation>Message format according to IEEE 802.1AS standard.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EthGlobalTimeMessageFormatEnum.IEEE802_1AS";xml.name="IEEE802-1AS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IEEE802-1AS-AUTOSAR">
            <xsd:annotation>
               <xsd:documentation>Message format according to IEEE 802.1AS standard with AUTOSAR extensions.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EthGlobalTimeMessageFormatEnum.IEEE802_1AS_AUTOSAR";xml.name="IEEE802-1AS-AUTOSAR"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETHERNET-CONNECTION-NEGOTIATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies connection negotiation types of Ethernet transceiver links.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetConnectionNegotiationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETHERNET-CONNECTION-NEGOTIATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-CONNECTION-NEGOTIATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AUTO">
            <xsd:annotation>
               <xsd:documentation>Automatic Negotiation</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EthernetConnectionNegotiationEnum.auto"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MASTER">
            <xsd:annotation>
               <xsd:documentation>Master</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EthernetConnectionNegotiationEnum.master"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SLAVE">
            <xsd:annotation>
               <xsd:documentation>Slave</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EthernetConnectionNegotiationEnum.slave"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETHERNET-COUPLING-PORT-SCHEDULER-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the schedule algorithm to be used.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetCouplingPortSchedulerEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETHERNET-COUPLING-PORT-SCHEDULER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-COUPLING-PORT-SCHEDULER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFICIT-ROUND-ROBIN">
            <xsd:annotation>
               <xsd:documentation>Schedule algorithm "deficit round robin"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EthernetCouplingPortSchedulerEnum.deficitRoundRobin"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STRICT-PRIORITY">
            <xsd:annotation>
               <xsd:documentation>Schedule algorithm "strict priority"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EthernetCouplingPortSchedulerEnum.strictPriority"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WEIGHTED-ROUND-ROBIN">
            <xsd:annotation>
               <xsd:documentation>Schedule algorithm "weighted round robin"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EthernetCouplingPortSchedulerEnum.weightedRoundRobin"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETHERNET-MAC-LAYER-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies MAC (Media Access Control) Layer types.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetMacLayerTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETHERNET-MAC-LAYER-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-MAC-LAYER-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="X-MII">
            <xsd:annotation>
               <xsd:documentation>Mac layer interface (data) bandwith class 100Mbit/s (e.g. RMII, RvMII, SMII, RvMII)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EthernetMacLayerTypeEnum.xMII";xml.name="X-MII"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="XG-MII">
            <xsd:annotation>
               <xsd:documentation>Mac layer interface (data) bandwith class 1Gbit/s (e.g. GMII, RGMII, SGMII, RvGMII, USGMII)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EthernetMacLayerTypeEnum.xGMII";xml.name="XG-MII"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="XXG-MII">
            <xsd:annotation>
               <xsd:documentation>Mac layer interface (data) bandwith class 10Gbit/s</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EthernetMacLayerTypeEnum.xXGMII";xml.name="XXG-MII"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETHERNET-PHYSICAL-LAYER-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies physical layer types of Ethernet transceiver links.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetPhysicalLayerTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETHERNET-PHYSICAL-LAYER-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-PHYSICAL-LAYER-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="1000BASE-T">
            <xsd:annotation>
               <xsd:documentation>Ethernet Standard (IEEE 802.3ab) to support 1Gbit/s over 4 twisted pairs.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.1000BASE-T";xml.name="1000BASE-T"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="1000BASE-T1">
            <xsd:annotation>
               <xsd:documentation>Ethernet Standard (IEEE 802.3bp) to support 1Gbit/s over a single twisted pair cable.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.1000BASE-T1";xml.name="1000BASE-T1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="100BASE-T1">
            <xsd:annotation>
               <xsd:documentation>Ethernet Standard (IEEE 802.3bw) to support 100Mbit/s over a single twisted pair cable.  100BASE-T1 is the IEEE Standardized version of BroadRReach.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.100BASE-T1";xml.name="100BASE-T1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="100BASE-TX">
            <xsd:annotation>
               <xsd:documentation>Ethernet Standard (IEEE 802.3u) to support 100Mbit/s over two twisted pairs.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.100BASE-TX";xml.name="100BASE-TX"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BASE-T">
            <xsd:annotation>
               <xsd:documentation>BaseT physical layer (10BaseT, 100BaseT, 1000BaseT)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.baseT"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BROAD-R-REACH">
            <xsd:annotation>
               <xsd:documentation>BroadR-Reach physical layer</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.broadRReach"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IEEE802-11P">
            <xsd:annotation>
               <xsd:documentation>Ethernet Standard (IEEE 802.11p) to support wireless communication in vehicular environments.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.iEEE802-11P";xml.name="IEEE802-11P"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RTPGE">
            <xsd:annotation>
               <xsd:documentation>Reduced Twisted Pair Gigabit Ethernet (RTPGE) physical layer</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.rtpge"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="X-MII">
            <xsd:annotation>
               <xsd:documentation>Media Independent Interface (MII) physical layer</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.xMII"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="X-MMI">
            <xsd:annotation>
               <xsd:documentation>This enumeration literal is set to obsolete and will be removed in future. Please use xMII instead. 

Old description: Media Independent Interface (MII) physical layer</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="EthernetPhysicalLayerTypeEnum.xMMI"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETHERNET-SWITCH-VLAN-EGRESS-TAGGING-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the VLAN tag sending behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetSwitchVlanEgressTaggingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETHERNET-SWITCH-VLAN-EGRESS-TAGGING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-SWITCH-VLAN-EGRESS-TAGGING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NOT-SENT">
            <xsd:annotation>
               <xsd:documentation>will not be sent</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EthernetSwitchVlanEgressTaggingEnum.notSent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SENT-TAGGED">
            <xsd:annotation>
               <xsd:documentation>sent with its VLAN tag</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EthernetSwitchVlanEgressTaggingEnum.sentTagged"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SENT-UNTAGGED">
            <xsd:annotation>
               <xsd:documentation>sent without a VLAN tag</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EthernetSwitchVlanEgressTaggingEnum.sentUntagged"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ETHERNET-SWITCH-VLAN-INGRESS-TAG-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the possible tagging behavior at an ingress port.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EthernetSwitchVlanIngressTagEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ETHERNET-SWITCH-VLAN-INGRESS-TAG-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ETHERNET-SWITCH-VLAN-INGRESS-TAG-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DROP-UNTAGGED">
            <xsd:annotation>
               <xsd:documentation>Drop if untagged.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EthernetSwitchVlanIngressTagEnum.dropUntagged"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FORWARD-AS-IS">
            <xsd:annotation>
               <xsd:documentation>Forward with the same VLAN as received. Also untagged frames will be forwarded as untagged.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EthernetSwitchVlanIngressTagEnum.forwardAsIs"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EVENT-ACCEPTANCE-STATUS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the initial status for enable or disable of acceptance of event reports of a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventAcceptanceStatusEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:EVENT-ACCEPTANCE-STATUS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="EVENT-ACCEPTANCE-STATUS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EVENT-ACCEPTANCE-DISABLED">
            <xsd:annotation>
               <xsd:documentation>Acceptance of a diagnostic event is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EventAcceptanceStatusEnum.eventAcceptanceDisabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EVENT-ACCEPTANCE-ENABLED">
            <xsd:annotation>
               <xsd:documentation>Acceptance of a diagnostic event is enabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EventAcceptanceStatusEnum.eventAcceptanceEnabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EVENT-GROUP-CONTROL-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Types of a RoutingGroups for the event communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventGroupControlTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:EVENT-GROUP-CONTROL-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="EVENT-GROUP-CONTROL-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACTIVATION-AND-TRIGGER-UNICAST">
            <xsd:annotation>
               <xsd:documentation>Activate the data path for unicast events and triggered unicast events that are sent out after a client got subscribed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EventGroupControlTypeEnum.activationAndTriggerUnicast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACTIVATION-MULTICAST">
            <xsd:annotation>
               <xsd:documentation>Activate the data path for multicast events of an EventGroup.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EventGroupControlTypeEnum.activationMulticast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACTIVATION-UNICAST">
            <xsd:annotation>
               <xsd:documentation>Activate the data path for unicast events of an EventGroup.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="EventGroupControlTypeEnum.activationUnicast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRIGGER-UNICAST">
            <xsd:annotation>
               <xsd:documentation>Activate the data path for triggered unicast events that are sent out after a client got subscribed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="EventGroupControlTypeEnum.triggerUnicast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EVENT-OCCURRENCE-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the type of the occurrence of an event within a given time interval.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="EventOccurrenceKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:EVENT-OCCURRENCE-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="EVENT-OCCURRENCE-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MULTIPLE-OCCURRENCES">
            <xsd:annotation>
               <xsd:documentation>Specifies that an event may occur more than once in a given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="EventOccurrenceKindEnum.multipleOccurrences"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SINGLE-OCCURRENCE">
            <xsd:annotation>
               <xsd:documentation>Specifies that an event shall occur only once in a given time interval.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="EventOccurrenceKindEnum.singleOccurrence"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EXECUTION-ORDER-CONSTRAINT-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific type of the ExecutionOrderConstraint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionOrderConstraintTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:EXECUTION-ORDER-CONSTRAINT-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="EXECUTION-ORDER-CONSTRAINT-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HIERARCHICAL-EOC">
            <xsd:annotation>
               <xsd:documentation>Specifies that the Execution Order Constraint specifies a hierarchical execution order constraint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ExecutionOrderConstraintTypeEnum.hierarchicalEOC"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ORDINARY-EOC">
            <xsd:annotation>
               <xsd:documentation>Specifies that the Execution Order Constraint specifies an ordinary execution order constraint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ExecutionOrderConstraintTypeEnum.ordinaryEOC"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REPETITIVE-EOC">
            <xsd:annotation>
               <xsd:documentation>Specifies that the Execution Order Constraint specifies a repetitive execution order constraint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ExecutionOrderConstraintTypeEnum.repetitiveEOC"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EXECUTION-TIME-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the type of the execution time constrained by ExecutionTimeConstraint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExecutionTimeTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:EXECUTION-TIME-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="EXECUTION-TIME-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="GROSS">
            <xsd:annotation>
               <xsd:documentation>Indicates that the given execution time is the time used to execute the ExecutableEntity without any interruption and and including external calls.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ExecutionTimeTypeEnum.gross"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NET">
            <xsd:annotation>
               <xsd:documentation>Indicates that the given execution time is the time used to execute the ExecutableEntity without any interruption and without any external calls.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ExecutionTimeTypeEnum.net"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="EXT-ID-CLASS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is in fact an enumerator. The possible values are all legal XML names of identifiable objects even those of other XML files. 

If the schemas of all questionable files are generated from a common meta-model, this is something like an IdentifiableSubtypesEnum. Maybe a future version of the Schema generator can generate such an enum.

As of now it is specified as string.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ExtIdClassEnum";xml.xsd.customType="EXT-ID-CLASS-ENUM";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:EXT-ID-CLASS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="EXT-ID-CLASS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="FM-FEATURE-SELECTION-STATE">
      <xsd:annotation>
         <xsd:documentation>Defines how a particular FMFeature contributes to a FMFSelectionSet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FMFeatureSelectionState"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FM-FEATURE-SELECTION-STATE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FM-FEATURE-SELECTION-STATE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DESELECTED">
            <xsd:annotation>
               <xsd:documentation>The feature is excluded from the selection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FMFeatureSelectionState.deselected"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SELECTED">
            <xsd:annotation>
               <xsd:documentation>The feature is included in the selection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FMFeatureSelectionState.selected"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UNDECIDED">
            <xsd:annotation>
               <xsd:documentation>It is not yet decided whether the feature shall be included into or excluded from the selection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="FMFeatureSelectionState.undecided"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FILTER-DEBOUNCING-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines possible values for the filter debouncing strategy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FilterDebouncingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FILTER-DEBOUNCING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FILTER-DEBOUNCING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEBOUNCE-DATA">
            <xsd:annotation>
               <xsd:documentation>The signal is a
mean value</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FilterDebouncingEnum.debounceData"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RAW-DATA">
            <xsd:annotation>
               <xsd:documentation>Means that no modification of the
signal has been applied. This is the default
value</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FilterDebouncingEnum.rawData"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WAIT-TIME-DATE">
            <xsd:annotation>
               <xsd:documentation>The signal is delivered by a GET operation after a certain amount of time</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="FilterDebouncingEnum.waitTimeDate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FLEXRAY-CHANNEL-NAME">
      <xsd:annotation>
         <xsd:documentation>Name of the channel.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayChannelName"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FLEXRAY-CHANNEL-NAME--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-CHANNEL-NAME--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CHANNEL-A">
            <xsd:annotation>
               <xsd:documentation>Channel A</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FlexrayChannelName.channelA"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CHANNEL-B">
            <xsd:annotation>
               <xsd:documentation>Channel B</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FlexrayChannelName.channelB"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FLEXRAY-NM-SCHEDULE-VARIANT">
      <xsd:annotation>
         <xsd:documentation>FrNm schedule variant according to FrNm SWS.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FlexrayNmScheduleVariant"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FLEXRAY-NM-SCHEDULE-VARIANT--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FLEXRAY-NM-SCHEDULE-VARIANT--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SCHEDULE-VARIANT-1">
            <xsd:annotation>
               <xsd:documentation>NM-Vote and NM Data transmitted within one PDU in static segment. The NM-Vote has to be realized as separate bit within the PDU.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULE-VARIANT-2">
            <xsd:annotation>
               <xsd:documentation>NM-Vote and NM-Data transmitted within one PDU in dynamic segment. The presence (or non-presence) of the PDU corresponds to the NM-Vote</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULE-VARIANT-3">
            <xsd:annotation>
               <xsd:documentation>NM-Vote and NM-Data are transmitted in the static segment in separate PDUs. This alternative is not recommended =&gt; Alternative 1 should be used instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant3"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULE-VARIANT-4">
            <xsd:annotation>
               <xsd:documentation>NM-Vote transmitted in static and NM-Data transmitted in dynamic segment.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant4"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULE-VARIANT-5">
            <xsd:annotation>
               <xsd:documentation>NM-Vote is transmitted in dynamic and NM-Data is transmitted in static segment. This alternative is not recommended =&gt; Variants 2 or 6 should be used instead.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant5"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULE-VARIANT-6">
            <xsd:annotation>
               <xsd:documentation>NM-Vote and NM-Data are transmitted in dynamic segment in separate PDUs.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant6"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SCHEDULE-VARIANT-7">
            <xsd:annotation>
               <xsd:documentation>NM-Vote and a copy of the CBV are transmitted in the static segment (using the FlexRay NM Vector support) and NM-Data is transmitted in the dynamic segment</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="FlexrayNmScheduleVariant.scheduleVariant7"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FLOAT">
      <xsd:annotation>
         <xsd:documentation>An instance of Float is an element from the set of real numbers. The value must comply with IEEE 754 and is limited to what can be expressed by a 64 bit binary representation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Float";xml.xsd.customType="FLOAT";xml.xsd.type="double"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FLOAT--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FLOAT--SIMPLE">
      <xsd:restriction base="xsd:double"/>
   </xsd:simpleType>
   <xsd:complexType name="FLOAT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the policy how an objects floats on a page.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FloatEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FLOAT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FLOAT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FLOAT">
            <xsd:annotation>
               <xsd:documentation>This indicates that a page formatter is allowed to float the table to optimize the pagination. This is for example supported by TeX.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FloatEnum.float"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-FLOAT">
            <xsd:annotation>
               <xsd:documentation>This indicates that a page formatter is not allowed to float the object to optimize the pagination.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FloatEnum.noFloat"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FR-AR-TP-ACK-TYPE">
      <xsd:annotation>
         <xsd:documentation>Type of Acknowledgement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrArTpAckType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FR-AR-TP-ACK-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FR-AR-TP-ACK-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACK-WITH-RT">
            <xsd:annotation>
               <xsd:documentation>Acknowledgement with retry.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FrArTpAckType.ackWithRt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACK-WITHOUT-RT">
            <xsd:annotation>
               <xsd:documentation>Acknowledgement without retry.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FrArTpAckType.ackWithoutRt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-ACK">
            <xsd:annotation>
               <xsd:documentation>No acknowledgement.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="FrArTpAckType.noAck"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FRAME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the policy, where to place a frame border around the table.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FrameEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FRAME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FRAME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALL">
            <xsd:annotation>
               <xsd:documentation>Borders all around the table</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FrameEnum.all"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BOTTOM">
            <xsd:annotation>
               <xsd:documentation>Border at the bottom of the table</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FrameEnum.bottom"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No borders around the table</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="FrameEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SIDES">
            <xsd:annotation>
               <xsd:documentation>Borders at the sides of the table</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="FrameEnum.sides"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TOP">
            <xsd:annotation>
               <xsd:documentation>Border at the top of the table</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="FrameEnum.top"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TOPBOT">
            <xsd:annotation>
               <xsd:documentation>Borders at the top and bottom of  the table</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="FrameEnum.topbot"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="FULL-BINDING-TIME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration specifies the BindingTimes that can be used in AUTOSAR models.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="FullBindingTimeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:FULL-BINDING-TIME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="FULL-BINDING-TIME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BLUEPRINT-DERIVATION-TIME">
            <xsd:annotation>
               <xsd:documentation>The point in time when an object is created from a blueprint.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="FullBindingTimeEnum.blueprintDerivationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CODE-GENERATION-TIME">
            <xsd:annotation>
               <xsd:documentation>* Coding by hand, based on requirements document.
* Tool based code generation, e.g. from a model.
* The model may contain variants.
* Only code for the selected variant(s) is actually generated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="FullBindingTimeEnum.codeGenerationTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LINK-TIME">
            <xsd:annotation>
               <xsd:documentation>Configure what is included in object code, and what is omitted
Based on which variant(s) are selected
E.g. for modules that are delivered as object code (as opposed to those that are delivered as source code)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="FullBindingTimeEnum.linkTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POST-BUILD">
            <xsd:annotation>
               <xsd:documentation>PostBuild is the binding time which is bound latest at startup of the ECU. In other words this is everything between creation of the executable program and startup of the ECU.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="FullBindingTimeEnum.postBuild"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRE-COMPILE-TIME">
            <xsd:annotation>
               <xsd:documentation>This is typically the C-Preprocessor.
Exclude parts of the code from the compilation process, e.g.,
because they are not required for the selected variant,
because they are incompatible with the selected variant,
because they require resources that are not present in the selected variant.
Object code is only generated for the selected variant(s).
The code that is excluded at this stage code will not be available at later stages.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="FullBindingTimeEnum.preCompileTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYSTEM-DESIGN-TIME">
            <xsd:annotation>
               <xsd:documentation>* Designing the VFB.
* Software Component types (PortInterfaces).
* SWC Prototypes and the Connections between SWCprototypes.
* Designing the Topology
* ECUs and interconnecting Networks
* Designing the Communication Matrix and Data Mapping</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="FullBindingTimeEnum.systemDesignTime"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="GLOBAL-TIME-CRC-SUPPORT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration is used to define whether and how CRC on the TX side shall be utilized.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCrcSupportEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:GLOBAL-TIME-CRC-SUPPORT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="GLOBAL-TIME-CRC-SUPPORT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CRC-NOT-SUPPORTED">
            <xsd:annotation>
               <xsd:documentation>This indicates that CRC is not supported</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="GlobalTimeCrcSupportEnum.crcNotSupported"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CRC-SUPPORTED">
            <xsd:annotation>
               <xsd:documentation>This indicates that CRC is supported</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="GlobalTimeCrcSupportEnum.crcSupported"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="GLOBAL-TIME-CRC-VALIDATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration provides values for the evaluation of the CRC</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GlobalTimeCrcValidationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:GLOBAL-TIME-CRC-VALIDATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="GLOBAL-TIME-CRC-VALIDATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CRC-IGNORED">
            <xsd:annotation>
               <xsd:documentation>The CRC is supposed to be ignored</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="GlobalTimeCrcValidationEnum.crcIgnored"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CRC-NOT-VALIDATED">
            <xsd:annotation>
               <xsd:documentation>The CRC is supposed to be present but not supposed to be validated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="GlobalTimeCrcValidationEnum.crcNotValidated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CRC-OPTIONAL">
            <xsd:annotation>
               <xsd:documentation>Either the CRC is present and then shall be validated or the CRC is not present and no CRC check is done.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="GlobalTimeCrcValidationEnum.crcOptional"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CRC-VALIDATED">
            <xsd:annotation>
               <xsd:documentation>This CRC is supposed to be validated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="GlobalTimeCrcValidationEnum.crcValidated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="GRAPHIC-FIT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the policy how to place and scale the figure on the page.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GraphicFitEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:GRAPHIC-FIT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="GRAPHIC-FIT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AS-IS">
            <xsd:annotation>
               <xsd:documentation>This indicates that the image shall be incorporated as is without scaling, rotation etc.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="GraphicFitEnum.AsIs"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIT-TO-PAGE">
            <xsd:annotation>
               <xsd:documentation>Fit to the page</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="GraphicFitEnum.FitToPage"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>fit to the text containing the graphic.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="GraphicFitEnum.FitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LIMIT-TO-PAGE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the width of the graphic shall be limited to the '''page width'''. The image shall not be scaled down but cropped.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="GraphicFitEnum.LimitToPage"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LIMIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>This indicates that the width of the graphic shall be limited to the width of the current '''text flow'''. The image shall not be scaled down but cropped.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="GraphicFitEnum.LimitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-180">
            <xsd:annotation>
               <xsd:documentation>Rotate 180 degree</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="GraphicFitEnum.Rotate180"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-180-LIMIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>Rotate 180 degree</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="GraphicFitEnum.Rotate180LimitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-90-CCW">
            <xsd:annotation>
               <xsd:documentation>Rotate 90 degree counter clockwise</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="GraphicFitEnum.Rotate90ccw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-90-CCW-FIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>Rotate by 90 degree counter clock wise and then fit to text</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";mmt.qualifiedName="GraphicFitEnum.Rotate90CcwFitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-90-CCW-LIMIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>Rotate by 90 degree counter clock wise and then fit to text</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";mmt.qualifiedName="GraphicFitEnum.Rotate90CcwLimitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-90-CW">
            <xsd:annotation>
               <xsd:documentation>Rotate 90 degree clockwise</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="10";mmt.qualifiedName="GraphicFitEnum.Rotate90Cw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-90-CW-FIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>Rotate by 90 degree and then fit to text</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="11";mmt.qualifiedName="GraphicFitEnum.Rotate90CwFitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROTATE-90-CW-LIMIT-TO-TEXT">
            <xsd:annotation>
               <xsd:documentation>Rotate by 90 degree and then fit to text</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="12";mmt.qualifiedName="GraphicFitEnum.Rotate90CwLimitToText"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="GRAPHIC-NOTATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the various notations (finally file types) used to represent the figure.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="GraphicNotationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:GRAPHIC-NOTATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="GRAPHIC-NOTATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BMP">
            <xsd:annotation>
               <xsd:documentation>bitmap image</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="GraphicNotationEnum.bmp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EPS">
            <xsd:annotation>
               <xsd:documentation>Encapsulated Postscript</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="GraphicNotationEnum.eps"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GIF">
            <xsd:annotation>
               <xsd:documentation>Graphics Interchange Format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="GraphicNotationEnum.gif"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="JPG">
            <xsd:annotation>
               <xsd:documentation>"Joint Photographic Experts Group"  format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="GraphicNotationEnum.jpg"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PDF">
            <xsd:annotation>
               <xsd:documentation>Portable Document Format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="GraphicNotationEnum.pdf"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PNG">
            <xsd:annotation>
               <xsd:documentation>Portable Network Graphics</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="GraphicNotationEnum.png"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SVG">
            <xsd:annotation>
               <xsd:documentation>scalable vector graphic</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="GraphicNotationEnum.svg"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TIFF">
            <xsd:annotation>
               <xsd:documentation>Tagged Image File Format</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="GraphicNotationEnum.tiff"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="HANDLE-INVALID-ENUM">
      <xsd:annotation>
         <xsd:documentation>Strategies of handling the reception of invalidValue.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HandleInvalidEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:HANDLE-INVALID-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="HANDLE-INVALID-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DONT-INVALIDATE">
            <xsd:annotation>
               <xsd:documentation>Invalidation is switched off.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="HandleInvalidEnum.dontInvalidate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXTERNAL-REPLACEMENT">
            <xsd:annotation>
               <xsd:documentation>Replace a received invalidValue. The replacement value is sourced from the externalReplacement.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="HandleInvalidEnum.externalReplacement"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KEEP">
            <xsd:annotation>
               <xsd:documentation>The application software is supposed to  handle signal invalidation on RTE API level either by DataReceiveErrorEvent or check of error code on read access.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="HandleInvalidEnum.keep"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REPLACE">
            <xsd:annotation>
               <xsd:documentation>Replace a received invalidValue. The replacement value is specified by the initValue.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="HandleInvalidEnum.replace"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="HANDLE-OUT-OF-RANGE-ENUM">
      <xsd:annotation>
         <xsd:documentation>A value of this type is taken for controlling the range checking behavior of the AUTOSAR RTE.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HandleOutOfRangeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:HANDLE-OUT-OF-RANGE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="HANDLE-OUT-OF-RANGE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFAULT">
            <xsd:annotation>
               <xsd:documentation>The RTE will use the initValue if the actual value is out of the specified bounds.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="HandleOutOfRangeEnum.default"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXTERNAL-REPLACEMENT">
            <xsd:annotation>
               <xsd:documentation>This indicates that the value replacement is sourced from the attribute replaceWith.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="HandleOutOfRangeEnum.externalReplacement"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IGNORE">
            <xsd:annotation>
               <xsd:documentation>The RTE will ignore any attempt to send or receive the corresponding dataElement if the value is out of the specified range.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="HandleOutOfRangeEnum.ignore"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INVALID">
            <xsd:annotation>
               <xsd:documentation>The RTE will use the invalidValue if the value is out of the specified bounds.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="HandleOutOfRangeEnum.invalid"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>A range check is not required.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="HandleOutOfRangeEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SATURATE">
            <xsd:annotation>
               <xsd:documentation>The RTE will saturate the value of the dataElement such that it is limited to the applicable upper bound if it is greater than the upper bound. Consequently, it is limited to the applicable lower bound if the value is less than the lower bound.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="HandleOutOfRangeEnum.saturate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="HANDLE-OUT-OF-RANGE-STATUS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines how the RTE handles values that are out of range.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HandleOutOfRangeStatusEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:HANDLE-OUT-OF-RANGE-STATUS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="HANDLE-OUT-OF-RANGE-STATUS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="INDICATE">
            <xsd:annotation>
               <xsd:documentation>The RTE sets the return status to RTE_E_OUT_OF_RANGE if the received value is out of range and the attribute handleOutOfRange is not set to "none" or "invalid".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="HandleOutOfRangeStatusEnum.indicate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SILENT">
            <xsd:annotation>
               <xsd:documentation>The RTE sets the return status to RTE_E_OK</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="HandleOutOfRangeStatusEnum.silent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="HANDLE-TERMINATION-AND-RESTART-ENUM">
      <xsd:annotation>
         <xsd:documentation>Controls the behavior of an AtomicSwComponentType with respect to stop and restart.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HandleTerminationAndRestartEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:HANDLE-TERMINATION-AND-RESTART-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="HANDLE-TERMINATION-AND-RESTART-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAN-BE-TERMINATED">
            <xsd:annotation>
               <xsd:documentation>Supports termination.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="HandleTerminationAndRestartEnum.canBeTerminated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CAN-BE-TERMINATED-AND-RESTARTED">
            <xsd:annotation>
               <xsd:documentation>Supports termination and restarting.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="HandleTerminationAndRestartEnum.canBeTerminatedAndRestarted"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-SUPPORT">
            <xsd:annotation>
               <xsd:documentation>Stop and restart is not supported at all.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="HandleTerminationAndRestartEnum.noSupport"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="HANDLE-TIMEOUT-ENUM">
      <xsd:annotation>
         <xsd:documentation>Strategies of handling a reception timeout violation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="HandleTimeoutEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:HANDLE-TIMEOUT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="HANDLE-TIMEOUT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>If set to none no replacement shall take place.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="HandleTimeoutEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REPLACE">
            <xsd:annotation>
               <xsd:documentation>If set to replace, the replacement value shall be the  ComInitValue.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="HandleTimeoutEnum.replace"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REPLACE-BY-TIMEOUT-SUBSTITUTION-VALUE">
            <xsd:annotation>
               <xsd:documentation>If set to replace, the replacement value shall be the timeout substitution value.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="HandleTimeoutEnum.replaceByTimeoutSubstitutionValue"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="I-PDU-SIGNAL-PROCESSING-ENUM">
      <xsd:annotation>
         <xsd:documentation>Definition of signal processing modes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IPduSignalProcessingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:I-PDU-SIGNAL-PROCESSING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="I-PDU-SIGNAL-PROCESSING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFERRED">
            <xsd:annotation>
               <xsd:documentation>The signal indications / confirmations are deferred.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="IPduSignalProcessingEnum.deferred"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IMMEDIATE">
            <xsd:annotation>
               <xsd:documentation>The signal indications / confirmations are performed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="IPduSignalProcessingEnum.immediate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="I-SIGNAL-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines ISignal types that are used for derivation of the ComSignalType in the COM configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ISignalTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:I-SIGNAL-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="I-SIGNAL-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ARRAY">
            <xsd:annotation>
               <xsd:documentation>ISignal shall be interpreted as an array (UINT8_N, UINT8_DYN)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ISignalTypeEnum.array"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PRIMITIVE">
            <xsd:annotation>
               <xsd:documentation>ISignal shall be interpreted as a primitive type (e.g. UINT_8, SINT_32)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ISignalTypeEnum.primitive"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="INTEGER">
      <xsd:annotation>
         <xsd:documentation>An instance of Integer is an element in the set of integer numbers ( ..., -2, -1, 0, 1, 2, ...).  

The value can be expressed in decimal, octal, hexadecimal and binary representation. Negative numbers can only be expressed in decimal notation

Range is from -2147483648 and 2147483647.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Integer";xml.xsd.customType="INTEGER";xml.xsd.pattern="[+\-]?[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:INTEGER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="INTEGER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[+\-]?[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="INTERVAL-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the type of an interval.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IntervalTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:INTERVAL-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="INTERVAL-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLOSED">
            <xsd:annotation>
               <xsd:documentation>The area is limited by the value given. The value itself is included.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="IntervalTypeEnum.closed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INFINITE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the limit is infinite. Note, it is obsolete. Use INF / -INF as value of the limit.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";mmt.qualifiedName="IntervalTypeEnum.infinite"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPEN">
            <xsd:annotation>
               <xsd:documentation>The area is limited by the value given. The value itself is not included.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="IntervalTypeEnum.open"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="IP4-ADDRESS-STRING">
      <xsd:annotation>
         <xsd:documentation>This is used to specify an IP4 address. Notation: 255.255.255.255</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ip4AddressString";xml.xsd.customType="IP4-ADDRESS-STRING";xml.xsd.pattern="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|ANY";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:IP4-ADDRESS-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="IP4-ADDRESS-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)|ANY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="IP6-ADDRESS-STRING">
      <xsd:annotation>
         <xsd:documentation>This is used to specify an IP6 address. 
Notation:  FFFF:FFFF;FFFF;FFFF;FFFF;FFFF;FFFF;FFFF</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ip6AddressString";xml.xsd.customType="IP6-ADDRESS-STRING";xml.xsd.pattern="[0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7,7}|ANY";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:IP6-ADDRESS-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="IP6-ADDRESS-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[0-9A-Fa-f]{1,4}(:[0-9A-Fa-f]{1,4}){7,7}|ANY"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="IP-ADDRESS-KEEP-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the behavior after a dynamic IP address has been assigned.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="IpAddressKeepEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:IP-ADDRESS-KEEP-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="IP-ADDRESS-KEEP-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FORGET">
            <xsd:annotation>
               <xsd:documentation>After a dynamic IP address has been assigned just use it for this session.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="IpAddressKeepEnum.forget"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STORE-PERSISTENTLY">
            <xsd:annotation>
               <xsd:documentation>After a dynamic IP address has been assigned store the address persistently.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="IpAddressKeepEnum.storePersistently"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="IPV-4-ADDRESS-SOURCE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines how the node obtains its IPv4-Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv4AddressSourceEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:IPV-4-ADDRESS-SOURCE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="IPV-4-ADDRESS-SOURCE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AUTO-IP">
            <xsd:annotation>
               <xsd:documentation>AutoIP is used to dynamically assign IP addresses at device startup.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="Ipv4AddressSourceEnum.autoIp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AUTO-IP--DOIP">
            <xsd:annotation>
               <xsd:documentation>Linklocal IPv4 Address Assignment using DoIP Parameters</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="Ipv4AddressSourceEnum.autoIp_doip"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AUTO-IPDHCPV-4">
            <xsd:annotation>
               <xsd:documentation>This enum literal is deprecated and will be removed in future.

Old description: 
The IpAddress is declared via AutoIp or dhcp.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";mmt.qualifiedName="Ipv4AddressSourceEnum.autoIp/dhcpv4"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DHCPV-4">
            <xsd:annotation>
               <xsd:documentation>DHCP is a service for the automatic IP configuration of a client.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="Ipv4AddressSourceEnum.dhcpv4"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIXED">
            <xsd:annotation>
               <xsd:documentation>The IP Address shall be declared manually.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="Ipv4AddressSourceEnum.fixed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="IPV-6-ADDRESS-SOURCE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines how the node obtains its IPv6-Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Ipv6AddressSourceEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:IPV-6-ADDRESS-SOURCE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="IPV-6-ADDRESS-SOURCE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DHCPV-6">
            <xsd:annotation>
               <xsd:documentation>DHCP is a service for the automatic IP configuration of a client.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="Ipv6AddressSourceEnum.dhcpv6"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIXED">
            <xsd:annotation>
               <xsd:documentation>The IP Address shall be declared manually.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="Ipv6AddressSourceEnum.fixed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LINK-LOCAL">
            <xsd:annotation>
               <xsd:documentation>LinkLocal is intended only for communications within the segment of a local network (a link) or a point-to-point connection that a host is connected to.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="Ipv6AddressSourceEnum.linkLocal"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LINK-LOCAL--DOIP">
            <xsd:annotation>
               <xsd:documentation>Linklocal IPv6 Address Assignment using DoIP Parameters</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="Ipv6AddressSourceEnum.linkLocal_doip"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ROUTER-ADVERTISEMENT">
            <xsd:annotation>
               <xsd:documentation>IPv6 Stateless Autoconfiguration.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="Ipv6AddressSourceEnum.routerAdvertisement"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ITEM-LABEL-POS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies, how the label of a labeled list shall be rendered.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ItemLabelPosEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ITEM-LABEL-POS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ITEM-LABEL-POS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NEWLINE">
            <xsd:annotation>
               <xsd:documentation>The label is renders in a new line.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ItemLabelPosEnum.newline"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NEWLINE-IF-NECESSARY">
            <xsd:annotation>
               <xsd:documentation>The label is rendered in a new line if it is longer than the indentation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ItemLabelPosEnum.newlineIfNecessary"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-NEWLINE">
            <xsd:annotation>
               <xsd:documentation>The label is rendered in one line with the item even if it is longer than the indentation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ItemLabelPosEnum.noNewline"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="KEEP-WITH-PREVIOUS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies a page break policy by controlling blocks which shall be kept together.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="KeepWithPreviousEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:KEEP-WITH-PREVIOUS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="KEEP-WITH-PREVIOUS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="KEEP">
            <xsd:annotation>
               <xsd:documentation>This indicates that the block shall be kept together with the previous block.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="KeepWithPreviousEnum.keep"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-KEEP">
            <xsd:annotation>
               <xsd:documentation>This indicates that there is no need to keep the block with the previous one. This is the same as if the attribute itself is missing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="KeepWithPreviousEnum.noKeep"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="KEY-USAGE-RESTRICTION-ENUM">
      <xsd:annotation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="KeyUsageRestrictionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:KEY-USAGE-RESTRICTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="KEY-USAGE-RESTRICTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="GENERATE">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="KeyUsageRestrictionEnum.generate"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GENERATE-AND-VERIFY">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="KeyUsageRestrictionEnum.generateAndVerify"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VERIFY">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="KeyUsageRestrictionEnum.verify"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="L-ENUM">
      <xsd:annotation>
         <xsd:documentation>This denotes the possible language designators according to the two letter code of ISO 693.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:L-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="L-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AA">
            <xsd:annotation>
               <xsd:documentation>Afar</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="LEnum.aa"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AB">
            <xsd:annotation>
               <xsd:documentation>Abkhazian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="LEnum.ab"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AF">
            <xsd:annotation>
               <xsd:documentation>Afrikaans</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="LEnum.af"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AM">
            <xsd:annotation>
               <xsd:documentation>Amharic</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="LEnum.am"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AR">
            <xsd:annotation>
               <xsd:documentation>Arabic</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="LEnum.ar"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AS">
            <xsd:annotation>
               <xsd:documentation>Assamese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="LEnum.as"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AY">
            <xsd:annotation>
               <xsd:documentation>Aymara</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="LEnum.ay"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="AZ">
            <xsd:annotation>
               <xsd:documentation>Azerbaijani</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="LEnum.az"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BA">
            <xsd:annotation>
               <xsd:documentation>Bashkir</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";mmt.qualifiedName="LEnum.ba"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BE">
            <xsd:annotation>
               <xsd:documentation>Byelorussian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";mmt.qualifiedName="LEnum.be"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BG">
            <xsd:annotation>
               <xsd:documentation>Bulgarian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="10";mmt.qualifiedName="LEnum.bg"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BH">
            <xsd:annotation>
               <xsd:documentation>Bihari</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="11";mmt.qualifiedName="LEnum.bh"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BI">
            <xsd:annotation>
               <xsd:documentation>Bislama</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="12";mmt.qualifiedName="LEnum.bi"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BN">
            <xsd:annotation>
               <xsd:documentation>Bengali</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="13";mmt.qualifiedName="LEnum.bn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BO">
            <xsd:annotation>
               <xsd:documentation>Tibetian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="14";mmt.qualifiedName="LEnum.bo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BR">
            <xsd:annotation>
               <xsd:documentation>Breton</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="15";mmt.qualifiedName="LEnum.br"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CA">
            <xsd:annotation>
               <xsd:documentation>Catalan</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="16";mmt.qualifiedName="LEnum.ca"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CO">
            <xsd:annotation>
               <xsd:documentation>Corsican</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="17";mmt.qualifiedName="LEnum.co"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CS">
            <xsd:annotation>
               <xsd:documentation>Czech</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="18";mmt.qualifiedName="LEnum.cs"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CY">
            <xsd:annotation>
               <xsd:documentation>Welsh</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="19";mmt.qualifiedName="LEnum.cy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DA">
            <xsd:annotation>
               <xsd:documentation>Danish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="20";mmt.qualifiedName="LEnum.da"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DE">
            <xsd:annotation>
               <xsd:documentation>German</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="21";mmt.qualifiedName="LEnum.de"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DZ">
            <xsd:annotation>
               <xsd:documentation>Bhutani</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="22";mmt.qualifiedName="LEnum.dz"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EL">
            <xsd:annotation>
               <xsd:documentation>Greek</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="23";mmt.qualifiedName="LEnum.el"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EN">
            <xsd:annotation>
               <xsd:documentation>English</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="24";mmt.qualifiedName="LEnum.en"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EO">
            <xsd:annotation>
               <xsd:documentation>Esperanto</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="25";mmt.qualifiedName="LEnum.eo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ES">
            <xsd:annotation>
               <xsd:documentation>Spanish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="26";mmt.qualifiedName="LEnum.es"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ET">
            <xsd:annotation>
               <xsd:documentation>Estonian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="27";mmt.qualifiedName="LEnum.et"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EU">
            <xsd:annotation>
               <xsd:documentation>Basque</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="28";mmt.qualifiedName="LEnum.eu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FA">
            <xsd:annotation>
               <xsd:documentation>Persian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="29";mmt.qualifiedName="LEnum.fa"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FI">
            <xsd:annotation>
               <xsd:documentation>Finnish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="30";mmt.qualifiedName="LEnum.fi"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FJ">
            <xsd:annotation>
               <xsd:documentation>Fiji</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="31";mmt.qualifiedName="LEnum.fj"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FO">
            <xsd:annotation>
               <xsd:documentation>Faeroese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="32";mmt.qualifiedName="LEnum.fo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FOR-ALL">
            <xsd:annotation>
               <xsd:documentation>The content applies to all languages</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="33";mmt.qualifiedName="LEnum.forAll"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FR">
            <xsd:annotation>
               <xsd:documentation>French</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="34";mmt.qualifiedName="LEnum.fr"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FY">
            <xsd:annotation>
               <xsd:documentation>Frisian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="35";mmt.qualifiedName="LEnum.fy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GA">
            <xsd:annotation>
               <xsd:documentation>Irish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="36";mmt.qualifiedName="LEnum.ga"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GD">
            <xsd:annotation>
               <xsd:documentation>Scots Gaelic</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="37";mmt.qualifiedName="LEnum.gd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GL">
            <xsd:annotation>
               <xsd:documentation>Galician</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="38";mmt.qualifiedName="LEnum.gl"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GN">
            <xsd:annotation>
               <xsd:documentation>Guarani</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="39";mmt.qualifiedName="LEnum.gn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GU">
            <xsd:annotation>
               <xsd:documentation>Gjarati</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="40";mmt.qualifiedName="LEnum.gu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HA">
            <xsd:annotation>
               <xsd:documentation>Hausa</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="41";mmt.qualifiedName="LEnum.ha"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HI">
            <xsd:annotation>
               <xsd:documentation>Hindi</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="42";mmt.qualifiedName="LEnum.hi"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HR">
            <xsd:annotation>
               <xsd:documentation>Croatian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="43";mmt.qualifiedName="LEnum.hr"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HU">
            <xsd:annotation>
               <xsd:documentation>Hungarian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="44";mmt.qualifiedName="LEnum.hu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HY">
            <xsd:annotation>
               <xsd:documentation>Armenian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="45";mmt.qualifiedName="LEnum.hy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IA">
            <xsd:annotation>
               <xsd:documentation>Interlingua</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="46";mmt.qualifiedName="LEnum.ia"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IE">
            <xsd:annotation>
               <xsd:documentation>Interlingue</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="47";mmt.qualifiedName="LEnum.ie"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IK">
            <xsd:annotation>
               <xsd:documentation>Inupiak</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="48";mmt.qualifiedName="LEnum.ik"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IN">
            <xsd:annotation>
               <xsd:documentation>Indonesian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="49";mmt.qualifiedName="LEnum.in"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IS">
            <xsd:annotation>
               <xsd:documentation>Icelandic</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="50";mmt.qualifiedName="LEnum.is"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IT">
            <xsd:annotation>
               <xsd:documentation>Italian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="51";mmt.qualifiedName="LEnum.it"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="IW">
            <xsd:annotation>
               <xsd:documentation>Hebrew</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="52";mmt.qualifiedName="LEnum.iw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="JA">
            <xsd:annotation>
               <xsd:documentation>Japanese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="53";mmt.qualifiedName="LEnum.ja"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="JI">
            <xsd:annotation>
               <xsd:documentation>Yiddish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="54";mmt.qualifiedName="LEnum.ji"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="JW">
            <xsd:annotation>
               <xsd:documentation>Javanese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="55";mmt.qualifiedName="LEnum.jw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KA">
            <xsd:annotation>
               <xsd:documentation>Georgian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="56";mmt.qualifiedName="LEnum.ka"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KK">
            <xsd:annotation>
               <xsd:documentation>Kazakh</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="57";mmt.qualifiedName="LEnum.kk"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KL">
            <xsd:annotation>
               <xsd:documentation>Greenlandic</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="58";mmt.qualifiedName="LEnum.kl"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KM">
            <xsd:annotation>
               <xsd:documentation>Cambodian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="59";mmt.qualifiedName="LEnum.km"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KN">
            <xsd:annotation>
               <xsd:documentation>Kannada</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="60";mmt.qualifiedName="LEnum.kn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KO">
            <xsd:annotation>
               <xsd:documentation>Korean</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="61";mmt.qualifiedName="LEnum.ko"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KS">
            <xsd:annotation>
               <xsd:documentation>Kashmiri</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="62";mmt.qualifiedName="LEnum.ks"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KU">
            <xsd:annotation>
               <xsd:documentation>Kurdish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="63";mmt.qualifiedName="LEnum.ku"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="KY">
            <xsd:annotation>
               <xsd:documentation>Kirghiz</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="64";mmt.qualifiedName="LEnum.ky"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LA">
            <xsd:annotation>
               <xsd:documentation>Latin</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="65";mmt.qualifiedName="LEnum.la"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LN">
            <xsd:annotation>
               <xsd:documentation>Lingala</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="66";mmt.qualifiedName="LEnum.ln"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LO">
            <xsd:annotation>
               <xsd:documentation>Laothian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="67";mmt.qualifiedName="LEnum.lo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LT">
            <xsd:annotation>
               <xsd:documentation>Lithuanian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="68";mmt.qualifiedName="LEnum.lt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LV">
            <xsd:annotation>
               <xsd:documentation>Lavian, Lettish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="69";mmt.qualifiedName="LEnum.lv"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MG">
            <xsd:annotation>
               <xsd:documentation>Malagasy</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="70";mmt.qualifiedName="LEnum.mg"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MI">
            <xsd:annotation>
               <xsd:documentation>Maori</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="71";mmt.qualifiedName="LEnum.mi"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MK">
            <xsd:annotation>
               <xsd:documentation>Macedonian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="72";mmt.qualifiedName="LEnum.mk"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ML">
            <xsd:annotation>
               <xsd:documentation>Malayalam</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="73";mmt.qualifiedName="LEnum.ml"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MN">
            <xsd:annotation>
               <xsd:documentation>Mongolian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="74";mmt.qualifiedName="LEnum.mn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MO">
            <xsd:annotation>
               <xsd:documentation>Moldavian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="75";mmt.qualifiedName="LEnum.mo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MR">
            <xsd:annotation>
               <xsd:documentation>Marathi</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="76";mmt.qualifiedName="LEnum.mr"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MS">
            <xsd:annotation>
               <xsd:documentation>Malay</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="77";mmt.qualifiedName="LEnum.ms"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MT">
            <xsd:annotation>
               <xsd:documentation>Maltese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="78";mmt.qualifiedName="LEnum.mt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MY">
            <xsd:annotation>
               <xsd:documentation>Burmese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="79";mmt.qualifiedName="LEnum.my"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NA">
            <xsd:annotation>
               <xsd:documentation>Nauru</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="80";mmt.qualifiedName="LEnum.na"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NE">
            <xsd:annotation>
               <xsd:documentation>Nepali</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="81";mmt.qualifiedName="LEnum.ne"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NL">
            <xsd:annotation>
               <xsd:documentation>Dutch</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="82";mmt.qualifiedName="LEnum.nl"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO">
            <xsd:annotation>
               <xsd:documentation>Norwegian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="83";mmt.qualifiedName="LEnum.no"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OC">
            <xsd:annotation>
               <xsd:documentation>Occitan</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="84";mmt.qualifiedName="LEnum.oc"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OM">
            <xsd:annotation>
               <xsd:documentation>(Afan) Oromo</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="85";mmt.qualifiedName="LEnum.om"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OR">
            <xsd:annotation>
               <xsd:documentation>Oriya</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="86";mmt.qualifiedName="LEnum.or"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PA">
            <xsd:annotation>
               <xsd:documentation>Punjabi</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="87";mmt.qualifiedName="LEnum.pa"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PL">
            <xsd:annotation>
               <xsd:documentation>Polish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="88";mmt.qualifiedName="LEnum.pl"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PS">
            <xsd:annotation>
               <xsd:documentation>Pashto, Pushto</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="89";mmt.qualifiedName="LEnum.ps"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PT">
            <xsd:annotation>
               <xsd:documentation>Portuguese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="90";mmt.qualifiedName="LEnum.pt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="QU">
            <xsd:annotation>
               <xsd:documentation>Quechua</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="91";mmt.qualifiedName="LEnum.qu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RM">
            <xsd:annotation>
               <xsd:documentation>Rhaeto-Romance</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="92";mmt.qualifiedName="LEnum.rm"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RN">
            <xsd:annotation>
               <xsd:documentation>Kirundi</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="93";mmt.qualifiedName="LEnum.rn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RO">
            <xsd:annotation>
               <xsd:documentation>Romanian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="94";mmt.qualifiedName="LEnum.ro"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RU">
            <xsd:annotation>
               <xsd:documentation>Russian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="95";mmt.qualifiedName="LEnum.ru"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RW">
            <xsd:annotation>
               <xsd:documentation>Kinyarwanda</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="96";mmt.qualifiedName="LEnum.rw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SA">
            <xsd:annotation>
               <xsd:documentation>Sanskrit</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="97";mmt.qualifiedName="LEnum.sa"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SD">
            <xsd:annotation>
               <xsd:documentation>Sindhi</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="98";mmt.qualifiedName="LEnum.sd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SG">
            <xsd:annotation>
               <xsd:documentation>Sangro</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="99";mmt.qualifiedName="LEnum.sg"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SH">
            <xsd:annotation>
               <xsd:documentation>Serbo-Croatian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="100";mmt.qualifiedName="LEnum.sh"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SI">
            <xsd:annotation>
               <xsd:documentation>Singhalese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="101";mmt.qualifiedName="LEnum.si"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SK">
            <xsd:annotation>
               <xsd:documentation>Slovak</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="102";mmt.qualifiedName="LEnum.sk"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SL">
            <xsd:annotation>
               <xsd:documentation>Slovenian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="103";mmt.qualifiedName="LEnum.sl"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SM">
            <xsd:annotation>
               <xsd:documentation>Samoan</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="104";mmt.qualifiedName="LEnum.sm"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SN">
            <xsd:annotation>
               <xsd:documentation>Shona</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="105";mmt.qualifiedName="LEnum.sn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SO">
            <xsd:annotation>
               <xsd:documentation>Somali</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="106";mmt.qualifiedName="LEnum.so"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SQ">
            <xsd:annotation>
               <xsd:documentation>Albanian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="107";mmt.qualifiedName="LEnum.sq"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SR">
            <xsd:annotation>
               <xsd:documentation>Serbian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="108";mmt.qualifiedName="LEnum.sr"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SS">
            <xsd:annotation>
               <xsd:documentation>Siswati</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="109";mmt.qualifiedName="LEnum.ss"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ST">
            <xsd:annotation>
               <xsd:documentation>Sesotho</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="110";mmt.qualifiedName="LEnum.st"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SU">
            <xsd:annotation>
               <xsd:documentation>Sundanese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="111";mmt.qualifiedName="LEnum.su"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SV">
            <xsd:annotation>
               <xsd:documentation>Swedish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="112";mmt.qualifiedName="LEnum.sv"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SW">
            <xsd:annotation>
               <xsd:documentation>Swahili</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="113";mmt.qualifiedName="LEnum.sw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TA">
            <xsd:annotation>
               <xsd:documentation>Tamil</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="114";mmt.qualifiedName="LEnum.ta"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TE">
            <xsd:annotation>
               <xsd:documentation>Tegulu</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="115";mmt.qualifiedName="LEnum.te"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TG">
            <xsd:annotation>
               <xsd:documentation>Tajik</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="116";mmt.qualifiedName="LEnum.tg"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TH">
            <xsd:annotation>
               <xsd:documentation>Thai</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="117";mmt.qualifiedName="LEnum.th"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TI">
            <xsd:annotation>
               <xsd:documentation>Tigrinya</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="118";mmt.qualifiedName="LEnum.ti"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TK">
            <xsd:annotation>
               <xsd:documentation>Turkmen</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="119";mmt.qualifiedName="LEnum.tk"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TL">
            <xsd:annotation>
               <xsd:documentation>Tagalog</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="120";mmt.qualifiedName="LEnum.tl"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TN">
            <xsd:annotation>
               <xsd:documentation>Setswana</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="121";mmt.qualifiedName="LEnum.tn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TO">
            <xsd:annotation>
               <xsd:documentation>Tonga</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="122";mmt.qualifiedName="LEnum.to"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TR">
            <xsd:annotation>
               <xsd:documentation>Turkish</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="123";mmt.qualifiedName="LEnum.tr"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TS">
            <xsd:annotation>
               <xsd:documentation>Tsonga</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="124";mmt.qualifiedName="LEnum.ts"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TT">
            <xsd:annotation>
               <xsd:documentation>Tatar</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="125";mmt.qualifiedName="LEnum.tt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TW">
            <xsd:annotation>
               <xsd:documentation>Twi</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="126";mmt.qualifiedName="LEnum.tw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UK">
            <xsd:annotation>
               <xsd:documentation>Ukrainian</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="127";mmt.qualifiedName="LEnum.uk"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UR">
            <xsd:annotation>
               <xsd:documentation>Urdu</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="128";mmt.qualifiedName="LEnum.ur"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UZ">
            <xsd:annotation>
               <xsd:documentation>Uzbek</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="129";mmt.qualifiedName="LEnum.uz"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VI">
            <xsd:annotation>
               <xsd:documentation>Vietnamese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="130";mmt.qualifiedName="LEnum.vi"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VO">
            <xsd:annotation>
               <xsd:documentation>Volapuk</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="131";mmt.qualifiedName="LEnum.vo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WO">
            <xsd:annotation>
               <xsd:documentation>Wolof</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="132";mmt.qualifiedName="LEnum.wo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="XH">
            <xsd:annotation>
               <xsd:documentation>Xhosa</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="133";mmt.qualifiedName="LEnum.xh"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="YO">
            <xsd:annotation>
               <xsd:documentation>Yoruba</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="134";mmt.qualifiedName="LEnum.yo"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ZH">
            <xsd:annotation>
               <xsd:documentation>Chinese</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="135";mmt.qualifiedName="LEnum.zh"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ZU">
            <xsd:annotation>
               <xsd:documentation>Zulu</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="136";mmt.qualifiedName="LEnum.zu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="LATENCY-CONSTRAINT-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the type of the latency timing constraint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LatencyConstraintTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:LATENCY-CONSTRAINT-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="LATENCY-CONSTRAINT-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AGE">
            <xsd:annotation>
               <xsd:documentation>In this case, the latency constraint is seen from the perspective of the response event of the associated event chain. Given a certain response event, the age interval of the latest stimulus is constrained.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="LatencyConstraintTypeEnum.age"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REACTION">
            <xsd:annotation>
               <xsd:documentation>In this case, the latency constraint is seen from the perspective of the stimulus event of the associated event chain. Given a certain stimulus event, the reaction interval of the first response is constrained.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="LatencyConstraintTypeEnum.reaction"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="LIN-CHECKSUM-TYPE">
      <xsd:annotation>
         <xsd:documentation>Use of classic or enhanced checksum is managed by the master node and it is determined per frame identifier;</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="LinChecksumType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:LIN-CHECKSUM-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="LIN-CHECKSUM-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CLASSIC">
            <xsd:annotation>
               <xsd:documentation>Classic in communication with LIN 1.3 slave nodes</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="LinChecksumType.classic"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ENHANCED">
            <xsd:annotation>
               <xsd:documentation>Enhanced in communication with LIN 2.0 slave nodes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="LinChecksumType.enhanced"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="LIST-ENUM">
      <xsd:annotation>
         <xsd:documentation>This meta-class represents the notation of the various types of lists.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ListEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:LIST-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="LIST-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NUMBER">
            <xsd:annotation>
               <xsd:documentation>This indicates that the list is an numerated list.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ListEnum.number"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UNNUMBER">
            <xsd:annotation>
               <xsd:documentation>This indicates that it is an enumeration (bulleted list)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ListEnum.unnumber"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MAC-ADDRESS-STRING">
      <xsd:annotation>
         <xsd:documentation>This primitive specifies a Mac Address.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MacAddressString";xml.xsd.customType="MAC-ADDRESS-STRING";xml.xsd.pattern="([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MAC-ADDRESS-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MAC-ADDRESS-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MAPPING-DIRECTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the conversion direction for which the mapping is applicable.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MappingDirectionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MAPPING-DIRECTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MAPPING-DIRECTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BIDIRECTIONAL">
            <xsd:annotation>
               <xsd:documentation>The TextTableMapping is applicable in both directions.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="MappingDirectionEnum.bidirectional"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIRST-TO-SECOND">
            <xsd:annotation>
               <xsd:documentation>The TextTableMapping is applicable in the direction from firstDataPrototype / firstOperationArgument referring into the PortInterface of the PPortPrototype to secondDataPrototype / secondOperationArgument referring into the PortInterface of the RPortPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="MappingDirectionEnum.firstToSecond"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SECOND-TO-FIRST">
            <xsd:annotation>
               <xsd:documentation>The TextTableMapping is applicable in the direction from secondDataPrototype / secondOperationArgument referring into the PortInterface of the PPortPrototype to firstDataPrototype / firstOperationArgument referring into the PortInterface of the RPortPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="MappingDirectionEnum.secondToFirst"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MAPPING-SCOPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the scope for the mapping constraints.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MappingScopeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MAPPING-SCOPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MAPPING-SCOPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MAPPING-SCOPE-CORE">
            <xsd:annotation>
               <xsd:documentation>The mapping constraint applies to different Cores.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="MappingScopeEnum.mappingScopeCore"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MAPPING-SCOPE-ECU">
            <xsd:annotation>
               <xsd:documentation>The mapping constraint applies to different Ecus.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="MappingScopeEnum.mappingScopeEcu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MAPPING-SCOPE-PARTITION">
            <xsd:annotation>
               <xsd:documentation>The mapping constraint applies to different Partitions.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="MappingScopeEnum.mappingScopePartition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MAX-COMM-MODE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Maximum bus communication mode required by a user of the Communication Manager Service.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MaxCommModeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MAX-COMM-MODE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MAX-COMM-MODE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FULL">
            <xsd:annotation>
               <xsd:documentation>Full communication is requested.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="MaxCommModeEnum.full"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No communication is requested.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="MaxCommModeEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SILENT">
            <xsd:annotation>
               <xsd:documentation>Silent communication is requested: Only listening but not "talking".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="MaxCommModeEnum.silent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MAXIMUM-MESSAGE-LENGTH-TYPE">
      <xsd:annotation>
         <xsd:documentation>Type of Acknowledgement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MaximumMessageLengthType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MAXIMUM-MESSAGE-LENGTH-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MAXIMUM-MESSAGE-LENGTH-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-4-G">
            <xsd:annotation>
               <xsd:documentation>SF-E allowed (SF of arbitrary length depending on FrTpPduLength), up to (2**32)-1 byte message length (all FF-x allowed).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="MaximumMessageLengthType.I4g"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ISO">
            <xsd:annotation>
               <xsd:documentation>Up to (2**12)-1 Byte message length (No FF-Ex or SF-E or AF shall be used and recognized).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="MaximumMessageLengthType.iso"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ISO-6">
            <xsd:annotation>
               <xsd:documentation>As ISO, but the maximum payload length is limited to 6 byte (SF-I, FF-I, CF). This is necessary to route TP on CAN when using Extended Addressing or Mixed Addressing on CAN.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="MaximumMessageLengthType.iso6"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MCD-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This primitive denotes a name used for measurement and calibration systems and shall follow the restrictions for an ASAM ASAP2 ident. For detailed syntax see the xsd.pattern. The size limitations are not captured. 

McdIdentifiers are random names which may contain characters A through Z, a through z, underscore (_), numerals 0 through 9, points ('.') and brackets ( '[',']' ).
However, the following limitations apply: the first character must be a letter or an underscore, brackets must occur in pairs at the end of a partial string and must
contain a number or an alpha-numerical string (description of the index of an array element).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="McdIdentifier";xml.xsd.customType="MCD-IDENTIFIER";xml.xsd.pattern="[a-zA-Z_][a-zA-Z0-9_]*(\[([a-zA-Z_][a-zA-Z0-9_]*|[0-9]+)\])*(\.[a-zA-Z_][a-zA-Z0-9_]*(\[([a-zA-Z_][a-zA-Z0-9_]*|[0-9]+)\])*)*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MCD-IDENTIFIER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MCD-IDENTIFIER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[a-zA-Z_][a-zA-Z0-9_]*(\[([a-zA-Z_][a-zA-Z0-9_]*|[0-9]+)\])*(\.[a-zA-Z_][a-zA-Z0-9_]*(\[([a-zA-Z_][a-zA-Z0-9_]*|[0-9]+)\])*)*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MEMORY-ALLOCATION-KEYWORD-POLICY-TYPE">
      <xsd:annotation>
         <xsd:documentation>Enumeration to specify the name pattern of the Memory Allocation Keyword.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MemoryAllocationKeywordPolicyType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MEMORY-ALLOCATION-KEYWORD-POLICY-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MEMORY-ALLOCATION-KEYWORD-POLICY-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ADDR-METHOD-SHORT-NAME">
            <xsd:annotation>
               <xsd:documentation>The MemorySection shortNames of referring MemorySections and therefore the belonging Memory Allocation Keywords in the code are build with the shortName of the SwAddrMethod. This is the default value if the attribute does not exist.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="MemoryAllocationKeywordPolicyType.addrMethodShortName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ADDR-METHOD-SHORT-NAME-AND-ALIGNMENT">
            <xsd:annotation>
               <xsd:documentation>The MemorySection shortNames of referring MemorySections and therefore the belonging Memory Allocation Keywords in the code are build with the shortName of the SwAddrMethod and a variable alignment postfix.

Thereby the alignment postfix needs to be consistent with the alignment attribute of the related MemorySection.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="MemoryAllocationKeywordPolicyType.addrMethodShortNameAndAlignment"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MEMORY-SECTION-TYPE">
      <xsd:annotation>
         <xsd:documentation>Enumeration to specify the essential nature of the data which can be allocated in a common memory class by the means of the AUTOSAR Memory Mapping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MemorySectionType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MEMORY-SECTION-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MEMORY-SECTION-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CALIBRATION-OFFLINE">
            <xsd:annotation>
               <xsd:documentation>Program data which can only be used for offline calibration.

'''Note''': This value is deprecated and shall be substituted by calPrm.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";atp.Status="removed";mmt.qualifiedName="MemorySectionType.calibrationOffline"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CALIBRATION-ONLINE">
            <xsd:annotation>
               <xsd:documentation>Program data which can be used for online calibration.

'''Note''': This value is deprecated and shall be substituted by calPrm.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";mmt.qualifiedName="MemorySectionType.calibrationOnline"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CALIBRATION-VARIABLES">
            <xsd:annotation>
               <xsd:documentation>This memory section is reserved for "virtual variables" that are computed by an MCD system during a measurement session but do not exist in the ECU memory.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="MemorySectionType.calibrationVariables"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CALPRM">
            <xsd:annotation>
               <xsd:documentation>To be used for calibratable constants of ECU-functions.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="MemorySectionType.calprm"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CODE">
            <xsd:annotation>
               <xsd:documentation>To be used for mapping code to application block, boot block, external flash etc.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="MemorySectionType.code"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CONFIG-DATA">
            <xsd:annotation>
               <xsd:documentation>Constants with attributes that show that they reside in one segment for module configuration.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="MemorySectionType.configData"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CONST">
            <xsd:annotation>
               <xsd:documentation>To be used for global or static constants.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="MemorySectionType.const"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXCLUDE-FROM-FLASH">
            <xsd:annotation>
               <xsd:documentation>This memory section is reserved for "virtual parameters" that are taken for computing the values of so-called dependent parameter of an MCD system. Dependent Parameters that are not at the same time "virtual parameters" are allocated in the ECU memory.

Virtual parameters, on the other hand, are not allocated in the ECU memory. Virtual parameters exist in the ECU Hex file for the purpose of being considered (for computing the values of dependent parameters) during an offline-calibration session.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="MemorySectionType.excludeFromFlash"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="USER-DEFINED">
            <xsd:annotation>
               <xsd:documentation>No specific categorization of sectionType possible.

'''Note''': This value is deprecated and shall be substituted by var, code, const, calprm, configData, excludeFromFlash and the appropriate values of the orthogonal attributes sectionInitializationPolicy, memoryAllocationKeywordPolicy and option.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";atp.Status="removed";mmt.qualifiedName="MemorySectionType.userDefined"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VAR">
            <xsd:annotation>
               <xsd:documentation>To be used for global or static variables. The expected initialization is specified with the attribute sectionInitializationPolicy.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";mmt.qualifiedName="MemorySectionType.var"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VAR-FAST">
            <xsd:annotation>
               <xsd:documentation>To be used for all global or static variables that have at least one of the following properties: - accessed bit-wise - frequently used - high number of accesses in source code Some platforms allow the use of bit instructions for variables located in this specific RAM area as well as shorter addressing instructions. This saves code and runtime.

'''Note''': This value is deprecated and shall be substituted by var and the appropriate values of the orthogonal attributes sectionInitializationPolicy, memoryAllocationKeywordPolicy and option.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="10";atp.Status="removed";mmt.qualifiedName="MemorySectionType.varFast"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VAR-NO-INIT">
            <xsd:annotation>
               <xsd:documentation>To be used for all global or static variables that are never initialized.

'''Note''': This value is deprecated and shall be substituted by var and the appropriate values of the orthogonal attributes sectionInitializationPolicy, memoryAllocationKeywordPolicy and option.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="11";atp.Status="removed";mmt.qualifiedName="MemorySectionType.varNoInit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VAR-POWER-ON-INIT">
            <xsd:annotation>
               <xsd:documentation>To be used for all global or static variables that are initialized only after power on reset.

'''Note''': This value is deprecated and shall be substituted by var and the appropriate values of the orthogonal attributes sectionInitializationPolicy, memoryAllocationKeywordPolicy and option.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="12";atp.Status="removed";mmt.qualifiedName="MemorySectionType.varPowerOnInit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="META-CLASS-NAME">
      <xsd:annotation>
         <xsd:documentation>Name of an class in the AUTOSAR Meta-Model.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MetaClassName";xml.xsd.customType="META-CLASS-NAME";xml.xsd.pattern="[A-Z][a-zA-Z0-9_]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:META-CLASS-NAME--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="META-CLASS-NAME--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[A-Z][a-zA-Z0-9_]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MIME-TYPE-STRING">
      <xsd:annotation>
         <xsd:documentation>This primitive denotes the an Internet media type, originally called a MIME type after MIME and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MimeTypeString";xml.xsd.customType="MIME-TYPE-STRING";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MIME-TYPE-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MIME-TYPE-STRING--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="MODE-ACTIVATION-KIND">
      <xsd:annotation>
         <xsd:documentation>Kind of mode switch condition used for activation of an event, as further described for each enumeration field.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeActivationKind"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MODE-ACTIVATION-KIND--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MODE-ACTIVATION-KIND--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ON-ENTRY">
            <xsd:annotation>
               <xsd:documentation>On entering the referred mode.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ModeActivationKind.onEntry"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ON-EXIT">
            <xsd:annotation>
               <xsd:documentation>On exiting the referred mode.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ModeActivationKind.onExit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ON-TRANSITION">
            <xsd:annotation>
               <xsd:documentation>On transition of the 1st referred mode to the 2nd referred mode.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ModeActivationKind.onTransition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MODE-ERROR-REACTION-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to specify the reaction on a mode error.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModeErrorReactionPolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MODE-ERROR-REACTION-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MODE-ERROR-REACTION-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEFAULT-MODE">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to switch to the defaultMode in case of a mode error.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ModeErrorReactionPolicyEnum.defaultMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LAST-MODE">
            <xsd:annotation>
               <xsd:documentation>This represents the ability to keep the last mode in case of a mode error.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ModeErrorReactionPolicyEnum.lastMode"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MODIFICATION-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator expresses if an object has been changed in its content or in its documentation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ModificationTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MODIFICATION-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MODIFICATION-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONTENT-RELATED">
            <xsd:annotation>
               <xsd:documentation>The attribute contentRelated expresses, that a substantial change of the content was performed in the object. Usually this means e.g. that the derived artifacts need to be regenerated (e.g. code generation).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ModificationTypeEnum.contentRelated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DOC-RELATED">
            <xsd:annotation>
               <xsd:documentation>The attribute docRelated expresses, that a change was applied to the documentation or other informal aspects of the object. Usually this means e.g. that not all derived artifacts need to be regenerated (e.g. code generation).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ModificationTypeEnum.docRelated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="MONOTONY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator denotes the values for specification of  monotony for e.g. curves.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="MonotonyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:MONOTONY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="MONOTONY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DECREASING">
            <xsd:annotation>
               <xsd:documentation>This indicates that the related curve needs to be monotony decreasing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="MonotonyEnum.decreasing"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INCREASING">
            <xsd:annotation>
               <xsd:documentation>This indicates that the related curve needs to be monotony increasing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="MonotonyEnum.increasing"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MONOTONOUS">
            <xsd:annotation>
               <xsd:documentation>This indicates that the values shall be monotonously decreasing or increasing, depending on the trend set by the first values of the series.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="MonotonyEnum.monotonous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-MONOTONY">
            <xsd:annotation>
               <xsd:documentation>This indicates that the related curve needs not to be monotony.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="MonotonyEnum.noMonotony"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STRICT-MONOTONOUS">
            <xsd:annotation>
               <xsd:documentation>This indicates that the values shall be strict monotonously decreasing or increasing, depending on the trend set by the first values of the series.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="MonotonyEnum.strictMonotonous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STRICTLY-DECREASING">
            <xsd:annotation>
               <xsd:documentation>This indicates that the related curve needs to be strictly monotony decreasing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="MonotonyEnum.strictlyDecreasing"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STRICTLY-INCREASING">
            <xsd:annotation>
               <xsd:documentation>This indicates that the related curve needs to be strictly monotony increasing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="MonotonyEnum.strictlyIncreasing"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NMTOKEN-STRING">
      <xsd:annotation>
         <xsd:documentation>This is an identifier as used in xml, e.g. xml-names. Basic difference to Identifier is the fact that it can contain "-".</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NameToken";xml.xsd.customType="NMTOKEN-STRING";xml.xsd.type="NMTOKEN"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NMTOKEN-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NMTOKEN-STRING--SIMPLE">
      <xsd:restriction base="xsd:NMTOKEN"/>
   </xsd:simpleType>
   <xsd:complexType name="NMTOKENS-STRING">
      <xsd:annotation>
         <xsd:documentation>This is a white-space separated list of name tokens.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NameTokens";xml.xsd.customType="NMTOKENS-STRING";xml.xsd.type="NMTOKENS"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NMTOKENS-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NMTOKENS-STRING--SIMPLE">
      <xsd:restriction base="xsd:NMTOKENS"/>
   </xsd:simpleType>
   <xsd:complexType name="NATIVE-DECLARATION-STRING">
      <xsd:annotation>
         <xsd:documentation>This string contains a native data declaration of a data type in a programming language. It is basically a string, but white-space must be preserved.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NativeDeclarationString";xml.xsd.customType="NATIVE-DECLARATION-STRING";xml.xsd.type="string";xml.xsd.whiteSpace="preserve"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NATIVE-DECLARATION-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NATIVE-DECLARATION-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:whiteSpace value="preserve"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NETWORK-TARGET-ADDRESS-TYPE">
      <xsd:annotation>
         <xsd:documentation>Network Target Address type (see ISO 15765-2).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NetworkTargetAddressType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NETWORK-TARGET-ADDRESS-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NETWORK-TARGET-ADDRESS-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FUNCTIONAL">
            <xsd:annotation>
               <xsd:documentation>Functional request type</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="NetworkTargetAddressType.functional"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FUNCTIONAL-CAN-FD">
            <xsd:annotation>
               <xsd:documentation>Functional request type via CAN FD</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="NetworkTargetAddressType.functionalCanFd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PHYSICAL">
            <xsd:annotation>
               <xsd:documentation>Physical request type</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="NetworkTargetAddressType.physical"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PHYSICAL-CAN-FD">
            <xsd:annotation>
               <xsd:documentation>Physical request type via CAN FD</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="NetworkTargetAddressType.physicalCanFd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NM-COORDINATOR-ROLE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Supported NmCoordinator roles.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NmCoordinatorRoleEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NM-COORDINATOR-ROLE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NM-COORDINATOR-ROLE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACTIVE">
            <xsd:annotation>
               <xsd:documentation>Coordinator which "actively" performs NmCoordinator functionality at this channel</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="NmCoordinatorRoleEnum.Active"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PASSIVE">
            <xsd:annotation>
               <xsd:documentation>Coordinator which "passively" performs NmCoordinator functionality at this channel - used at NmCoordinatorSync use case.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="NmCoordinatorRoleEnum.Passive"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NOTE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the type of the note. It can be used to render a note label or even a note icon.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NoteTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NOTE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NOTE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CAUTION">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note is an alert which shall be considered carefully.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="NoteTypeEnum.caution"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXAMPLE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note represents an example, e.g. a code example etc.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="NoteTypeEnum.example"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXERCISE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note represents an exercise for the reader.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="NoteTypeEnum.exercise"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HINT">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note represents a hint which helps the user for better understanding.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="NoteTypeEnum.hint"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INSTRUCTION">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note represents an instruction, e.g. a step by step procedure.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="NoteTypeEnum.instruction"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OTHER">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note is something else. The particular type of the note shall then be specified in the label of the note.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="NoteTypeEnum.other"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TIP">
            <xsd:annotation>
               <xsd:documentation>This indicates that the note represents which is good to know. It is similar to a hint, but focuses more to good practice than to better understanding.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="NoteTypeEnum.tip"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NUMERICAL-VALUE">
      <xsd:annotation>
         <xsd:documentation>This primitive specifies a numerical value. It can be denoted in different formats such as Decimal, Octal, Hexadecimal, Float. See the xsd pattern for details.

The value can be expressed in octal, hexadecimal, binary representation. Negative numbers can only be expressed in decimal or float notation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Numerical";xml.xsd.customType="NUMERICAL-VALUE";xml.xsd.pattern="(0[xX][0-9a-fA-F]+)|(0[0-7]+)|(0[bB][0-1]+)|(([+\-]?[1-9][0-9]+(\.[0-9]+)?|[+\-]?[0-9](\.[0-9]+)?)([eE]([+\-]?)[0-9]+)?)|\.0|INF|-INF|NaN";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NUMERICAL-VALUE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NUMERICAL-VALUE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(0[xX][0-9a-fA-F]+)|(0[0-7]+)|(0[bB][0-1]+)|(([+\-]?[1-9][0-9]+(\.[0-9]+)?|[+\-]?[0-9](\.[0-9]+)?)([eE]([+\-]?)[0-9]+)?)|\.0|INF|-INF|NaN"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NV-BLOCK-NEEDS-RELIABILITY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Reliability against data loss on the non-volatile medium.
These requirements give only a relative indication, for example on the required degree of redundancy for storage. 

They do, however, not specify by which means (e.g. software or hardware) the reliability is actually achieved.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeedsReliabilityEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NV-BLOCK-NEEDS-RELIABILITY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NV-BLOCK-NEEDS-RELIABILITY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ERROR-CORRECTION">
            <xsd:annotation>
               <xsd:documentation>Errors shall be corrected</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="NvBlockNeedsReliabilityEnum.errorCorrection"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ERROR-DETECTION">
            <xsd:annotation>
               <xsd:documentation>Errors shall be detected</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="NvBlockNeedsReliabilityEnum.errorDetection"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-PROTECTION">
            <xsd:annotation>
               <xsd:documentation>Data need not to be handled with protection</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="NvBlockNeedsReliabilityEnum.noProtection"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="NV-BLOCK-NEEDS-WRITING-PRIORITY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the priority of writing this block in case of concurrent requests to write other blocks.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="NvBlockNeedsWritingPriorityEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:NV-BLOCK-NEEDS-WRITING-PRIORITY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="NV-BLOCK-NEEDS-WRITING-PRIORITY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="HIGH">
            <xsd:annotation>
               <xsd:documentation>Writing priority is high.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="NvBlockNeedsWritingPriorityEnum.high"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="LOW">
            <xsd:annotation>
               <xsd:documentation>Writing priority is low.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="NvBlockNeedsWritingPriorityEnum.low"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MEDIUM">
            <xsd:annotation>
               <xsd:documentation>Writing priority is medium.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="NvBlockNeedsWritingPriorityEnum.medium"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="OBD-RATIO-CONNECTION-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the way how the IUMPR service connection between the Dem and the client component or module is handled (for details see the DEM Specification).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ObdRatioConnectionKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:OBD-RATIO-CONNECTION-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="OBD-RATIO-CONNECTION-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="API-USE">
            <xsd:annotation>
               <xsd:documentation>The IUMPR service (of the DEM) uses an explicit API to connect to the component or module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ObdRatioConnectionKindEnum.apiUse"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OBSERVER">
            <xsd:annotation>
               <xsd:documentation>The IUMPR service (of the Dem) uses no API but "observes"  the associated diagnostic event.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ObdRatioConnectionKindEnum.observer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="OPERATION-CYCLE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>The possible values of the operation cycles types for the Dem.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OperationCycleTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:OPERATION-CYCLE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="OPERATION-CYCLE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IGNITION">
            <xsd:annotation>
               <xsd:documentation>Ignition ON / OFF cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="OperationCycleTypeEnum.ignition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OBD-DCY">
            <xsd:annotation>
               <xsd:documentation>OBD Driving cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="OperationCycleTypeEnum.obdDcy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OTHER">
            <xsd:annotation>
               <xsd:documentation>Further operation cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="OperationCycleTypeEnum.other"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POWER">
            <xsd:annotation>
               <xsd:documentation>Power ON / OFF cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="OperationCycleTypeEnum.power"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TIME">
            <xsd:annotation>
               <xsd:documentation>Time based operation cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="OperationCycleTypeEnum.time"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WARMUP">
            <xsd:annotation>
               <xsd:documentation>OBD Warm up cycle.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="OperationCycleTypeEnum.warmup"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="ORIENT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies how the table shall be oriented.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="OrientEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:ORIENT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="ORIENT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LAND">
            <xsd:annotation>
               <xsd:documentation>This indicates that the table is rendered in landscape which results in turning the table 90 degree clockwise.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="OrientEnum.land"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PORT">
            <xsd:annotation>
               <xsd:documentation>This indicates that the table is rendered in portrait, which is the regular text flow.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="OrientEnum.port"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PDU-COLLECTION-SEMANTICS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the collection semantics for the PDU collection feature.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduCollectionSemanticsEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PDU-COLLECTION-SEMANTICS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PDU-COLLECTION-SEMANTICS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="LAST-IS-BEST">
            <xsd:annotation>
               <xsd:documentation>Only the latest PDU instances are transmitted.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="PduCollectionSemanticsEnum.lastIsBest"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="QUEUED">
            <xsd:annotation>
               <xsd:documentation>All instances of PDUs are transmitted.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="PduCollectionSemanticsEnum.queued"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PDU-COLLECTION-TRIGGER-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines whether a Pdu contributes to the triggering of the data transmission if Pdu collection is enabled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PduCollectionTriggerEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PDU-COLLECTION-TRIGGER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PDU-COLLECTION-TRIGGER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ALWAYS">
            <xsd:annotation>
               <xsd:documentation>Pdu will trigger the transmission of the data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="PduCollectionTriggerEnum.always"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NEVER">
            <xsd:annotation>
               <xsd:documentation>Pdu will be buffered and will not trigger the transmission of the data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="PduCollectionTriggerEnum.never"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PGWIDE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies, if the table shall be rendered across the entire page, even if it is placed in side-head layouts.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PgwideEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PGWIDE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PGWIDE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-PGWIDE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the table shall be fit in the current text flow.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="PgwideEnum.noPgwide"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PGWIDE">
            <xsd:annotation>
               <xsd:documentation>This indicates that the table may use the entire page width. This is in particular important in case of so called "side-head layouts" but also if the table is in a list or in a note.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="PgwideEnum.pgwide"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PNC-GATEWAY-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines the PncGateway roles.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PncGatewayTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PNC-GATEWAY-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PNC-GATEWAY-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACTIVE">
            <xsd:annotation>
               <xsd:documentation>The active PncGateway functionality shall be performed</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="PncGatewayTypeEnum.active"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No PncGateway functionality shall be performed</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="PncGatewayTypeEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PASSIVE">
            <xsd:annotation>
               <xsd:documentation>The passive PncGateway functionality shall be performed</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="PncGatewayTypeEnum.passive"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="POSITIVE-INTEGER">
      <xsd:annotation>
         <xsd:documentation>This is a positive integer which can be denoted in decimal, binary, octal and hexadecimal.
The value is between 0 and 4294967295.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PositiveInteger";xml.xsd.customType="POSITIVE-INTEGER";xml.xsd.pattern="[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:POSITIVE-INTEGER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="POSITIVE-INTEGER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="POSITIVE-UNLIMITED-INTEGER">
      <xsd:annotation>
         <xsd:documentation>This is a positive unlimited integer which can be denoted in decimal, binary, octal and hexadecimal.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PositiveUnlimitedInteger";xml.xsd.customType="POSITIVE-UNLIMITED-INTEGER";xml.xsd.pattern="[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:POSITIVE-UNLIMITED-INTEGER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="POSITIVE-UNLIMITED-INTEGER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PRIMITIVE-IDENTIFIER">
      <xsd:annotation>
         <xsd:documentation>This meta-class has the ability to contain a string. Please note that this meta-class has only been introduced to fix an issue with the generation of attributes on primitives in context with [TR_APRXML_00024].</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PrimitiveIdentifier";xml.xsd.customType="PRIMITIVE-IDENTIFIER";xml.xsd.maxLength="128";xml.xsd.pattern="[a-zA-Z]([a-zA-Z0-9]|_[a-zA-Z0-9])*_?";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PRIMITIVE-IDENTIFIER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PRIMITIVE-IDENTIFIER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:maxLength value="128"/>
         <xsd:pattern value="[a-zA-Z]([a-zA-Z0-9]|_[a-zA-Z0-9])*_?"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PROCESSING-KIND-ENUM">
      <xsd:annotation>
         <xsd:documentation>Kind of processing which has been applied to a data element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ProcessingKindEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PROCESSING-KIND-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PROCESSING-KIND-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FILTERED">
            <xsd:annotation>
               <xsd:documentation>Indicates that a raw signal has been manipulated by some application software components by using filters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ProcessingKindEnum.filtered"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>Indicates that none of the other option apply.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ProcessingKindEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RAW">
            <xsd:annotation>
               <xsd:documentation>Specifies that a signal is taken directly from the basic software modules, i.e. from the ECU abstraction layer. It indicates to a developer that the control algorithm in the software has to provide filters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ProcessingKindEnum.raw"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PROGRAMMINGLANGUAGE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Programming language the implementation was created in.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ProgramminglanguageEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PROGRAMMINGLANGUAGE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PROGRAMMINGLANGUAGE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="C">
            <xsd:annotation>
               <xsd:documentation>C language</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ProgramminglanguageEnum.c"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CPP">
            <xsd:annotation>
               <xsd:documentation>C++ language</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ProgramminglanguageEnum.cpp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="JAVA">
            <xsd:annotation>
               <xsd:documentation>Java language</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ProgramminglanguageEnum.java"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="PULSE-TEST-ENUM">
      <xsd:annotation>
         <xsd:documentation>This element indicates to the connected Actuator Software component whether the data-element can be used to generate pulse test sequences using the IoHwAbstraction layer</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="PulseTestEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:PULSE-TEST-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="PULSE-TEST-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DISABLE">
            <xsd:annotation>
               <xsd:documentation>Disables the pulse test</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="PulseTestEnum.disable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ENABLE">
            <xsd:annotation>
               <xsd:documentation>Enables the pulse test</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="PulseTestEnum.enable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RAM-BLOCK-STATUS-CONTROL-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration type defines options for how the management of the ramBlock status is controlled.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RamBlockStatusControlEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RAM-BLOCK-STATUS-CONTROL-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RAM-BLOCK-STATUS-CONTROL-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="API">
            <xsd:annotation>
               <xsd:documentation>The ramBlock status is controlled via service interface by usage of the SetRamBlockStatus operation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RamBlockStatusControlEnum.api"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NV-RAM-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The ramBlock status is controlled exclusively by the Nv Ram Manager.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RamBlockStatusControlEnum.nvRamManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RECORD-LAYOUT-ITERATOR-POINT">
      <xsd:annotation>
         <xsd:documentation>This meta-class denotes a start / endpoint for the iteration of a SwRecordLayoutGroup. It can be an integer or one of the keywords MAX-TEXT-SIZE|ARRAY-SIZE. Note that negative numbers are counted backwards. Therefore e.g. -1 refers to the last value.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RecordLayoutIteratorPoint";xml.xsd.customType="RECORD-LAYOUT-ITERATOR-POINT";xml.xsd.pattern="-?([0-9]+|MAX-TEXT-SIZE|ARRAY-SIZE)";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RECORD-LAYOUT-ITERATOR-POINT--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RECORD-LAYOUT-ITERATOR-POINT--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="-?([0-9]+|MAX-TEXT-SIZE|ARRAY-SIZE)"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="REENTRANCY-LEVEL-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies if and in which kinds of environments an entity is reentrant.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReentrancyLevelEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REENTRANCY-LEVEL-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="REENTRANCY-LEVEL-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MULTICORE-REENTRANT">
            <xsd:annotation>
               <xsd:documentation>Unlimited concurrent execution of this entity is possible, including preemption and parallel execution on multi core systems.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ReentrancyLevelEnum.multicoreReentrant"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NON-REENTRANT">
            <xsd:annotation>
               <xsd:documentation>Concurrent execution of this entity is not possible.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ReentrancyLevelEnum.nonReentrant"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SINGLE-CORE-REENTRANT">
            <xsd:annotation>
               <xsd:documentation>Pseudo-concurrent execution (i.e. preemption) of this entity is possible on single core systems.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ReentrancyLevelEnum.singleCoreReentrant"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="REGULAR-EXPRESSION">
      <xsd:annotation>
         <xsd:documentation>This is a regular expression as defined in 

http://www.w3.org/TR/xmlschema-2

As of now it is still produced as a string in XSD.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RegularExpression";xml.xsd.customType="REGULAR-EXPRESSION";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REGULAR-EXPRESSION--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="REGULAR-EXPRESSION--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="REMOTING-TECHNOLOGY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Remoting technology identifier.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="RemotingTechnologyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REMOTING-TECHNOLOGY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="REMOTING-TECHNOLOGY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AR--CLIENT--SERVER">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RemotingTechnologyEnum.ar_client_server"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SOMEIP">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RemotingTechnologyEnum.some/ip"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="REPORT-BEHAVIOR-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration specifies the report status of related events before or after diagnostic event initialization.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ReportBehaviorEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REPORT-BEHAVIOR-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="REPORT-BEHAVIOR-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="REPORT-AFTER-INIT">
            <xsd:annotation>
               <xsd:documentation>This allows reporting related events after initialization</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ReportBehaviorEnum.reportAfterInit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REPORT-BEFORE-INIT">
            <xsd:annotation>
               <xsd:documentation>This allows reporting related events before initialization</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ReportBehaviorEnum.reportBeforeInit"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="REQUEST-METHOD-ENUM">
      <xsd:annotation>
         <xsd:documentation>Available request methods for HTTPs.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RequestMethodEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REQUEST-METHOD-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="REQUEST-METHOD-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONNECT">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RequestMethodEnum.connect"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DELETE">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RequestMethodEnum.delete"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="GET">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="RequestMethodEnum.get"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="HEAD">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="RequestMethodEnum.head"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPTIONS">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="RequestMethodEnum.options"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="POST">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="RequestMethodEnum.post"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PUT">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="RequestMethodEnum.put"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRACE">
            <xsd:annotation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="RequestMethodEnum.trace"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RESOLUTION-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This specifies if the content of the xref element follow a dedicated resolution policy.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ResolutionPolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RESOLUTION-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RESOLUTION-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SLOPPY">
            <xsd:annotation>
               <xsd:documentation>The content of the xref element is '''not''' linked by a sloppy reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ResolutionPolicyEnum.noSloppy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SLOPPY">
            <xsd:annotation>
               <xsd:documentation>The content of the xref element is linked by a sloppy reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ResolutionPolicyEnum.sloppy"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RESUME-POSITION">
      <xsd:annotation>
         <xsd:documentation>Defines, where a schedule table shall be proceeded in case if it has been interrupted by a run-once table or MRF/SRF.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ResumePosition"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RESUME-POSITION--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RESUME-POSITION--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONTINUE-AT-IT-POSITION">
            <xsd:annotation>
               <xsd:documentation>Continue at IT Point.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ResumePosition.continueAtItPosition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="START-FROM-BEGINNING">
            <xsd:annotation>
               <xsd:documentation>Start from the beginning</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ResumePosition.startFromBeginning"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="REVISION-LABEL-STRING">
      <xsd:annotation>
         <xsd:documentation>This primitive represents a revision label which identifies an engineering object. It represents a pattern which 

* requires three integers representing from left to right MajorVersion, MinorVersion, PatchVersion.

* may add an application specific suffix separated by one of ".", "_", ";".

Legal patterns are for example:

4.0.0
4.0.0.1234565
4.0.0_vendor specific;13
4.0.0;12</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RevisionLabelString";xml.xsd.customType="REVISION-LABEL-STRING";xml.xsd.pattern="[0-9]+\.[0-9]+\.[0-9]+([\._;].*)?";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:REVISION-LABEL-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="REVISION-LABEL-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[0-9]+\.[0-9]+\.[0-9]+([\._;].*)?"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RPT-ACCESS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Determines the access rights to a data object with respect to rapid prototyping.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptAccessEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RPT-ACCESS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RPT-ACCESS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ENABLED">
            <xsd:annotation>
               <xsd:documentation>The related data element is accessible by RP tool.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RptAccessEnum.enabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>The related data element is not accessible by RP tool.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RptAccessEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PROTECTED">
            <xsd:annotation>
               <xsd:documentation>The data element is known to the RP tool however its usage for RP can be restricted.
Use case: limitation based on access rights</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="RptAccessEnum.protected"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RPT-ENABLER-IMPL-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Describes the required / implemented usage of enabler flags for data access in the code.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptEnablerImplTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RPT-ENABLER-IMPL-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RPT-ENABLER-IMPL-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No "RP enabler" is implemented.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RptEnablerImplTypeEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RPT-ENABLER-RAM">
            <xsd:annotation>
               <xsd:documentation>"RP enabler" is implemented as a RAM variable</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RptEnablerImplTypeEnum.rptEnablerRam"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RPT-ENABLER-RAM-AND-ROM">
            <xsd:annotation>
               <xsd:documentation>The RTE generator implements both the RAM and ROM "RP enabler".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="RptEnablerImplTypeEnum.rptEnablerRamAndRom"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RPT-ENABLER-ROM">
            <xsd:annotation>
               <xsd:documentation>"RP enabler" is implemented as a calibrateable ROM variable.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="RptEnablerImplTypeEnum.rptEnablerRom"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RPT-EXECUTION-CONTROL-ENUM">
      <xsd:annotation>
         <xsd:documentation>Determines rapid prototyping preparation of a ExecutableEntity.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptExecutionControlEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RPT-EXECUTION-CONTROL-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RPT-EXECUTION-CONTROL-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONDITIONAL">
            <xsd:annotation>
               <xsd:documentation>The ExecutableEntity is only executed when the rapid prototyping disable flag is NOT set.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RptExecutionControlEnum.conditional"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>The ExecutableEntity is executed without specific rapid prototyping condition.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RptExecutionControlEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RPT-PREPARATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Determines the RP preparation level for access to VariableDataPrototypes within the generated RTE implementation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptPreparationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RPT-PREPARATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RPT-PREPARATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No RP preparation for VariableDataPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RptPreparationEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RPT-LEVEL-1">
            <xsd:annotation>
               <xsd:documentation>The RTE implementation uses an „RP global buffer" for measurement and post-build hooking purposes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RptPreparationEnum.rptLevel1"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RPT-LEVEL-2">
            <xsd:annotation>
               <xsd:documentation>As rpLevel1 but the RTE implementation also uses both „RP enabler flag" to permit RP overwrite at run-time.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="RptPreparationEnum.rptLevel2"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RPT-LEVEL-3">
            <xsd:annotation>
               <xsd:documentation>As rpLevel2 but the RTE implementation also uses "RP global measurement buffer" to record the original ECU-generated value in addition to the RP value.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="RptPreparationEnum.rptLevel3"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RPT-SERVICE-POINT-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies whether the invocation of ExecutableEntitys due to activation of specific RteEvents/BswEvents requires the insertion of Service Points.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RptServicePointEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RPT-SERVICE-POINT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RPT-SERVICE-POINT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ENABLED">
            <xsd:annotation>
               <xsd:documentation>Enables generation of service points by the RTE generator.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RptServicePointEnum.enabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>No Service Points are requested.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RptServicePointEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RUN-MODE">
      <xsd:annotation>
         <xsd:documentation>The schedule table can be executed in two different modes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RunMode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RUN-MODE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RUN-MODE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RUN-CONTINUOUS">
            <xsd:annotation>
               <xsd:documentation>RUN_CONTINUOUS run mode</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RunMode.RunContinuous"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RUN-ONCE">
            <xsd:annotation>
               <xsd:documentation>RUN_ONCE run mode</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RunMode.runOnce"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RUNTIME-ADDRESS-CONFIGURATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines the protocol to be used to obtain the address information.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RuntimeAddressConfigurationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RUNTIME-ADDRESS-CONFIGURATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RUNTIME-ADDRESS-CONFIGURATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>Static configuration is used to obtain the address information.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RuntimeAddressConfigurationEnum.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SD">
            <xsd:annotation>
               <xsd:documentation>AUTOSAR Service Discovery is used to obtain the address information.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RuntimeAddressConfigurationEnum.sd"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="RX-ACCEPT-CONTAINED-I-PDU-ENUM">
      <xsd:annotation>
         <xsd:documentation>Defines whether this ContainerIPdu has a fixed set of containedIPdus assigned for reception.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="RxAcceptContainedIPduEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:RX-ACCEPT-CONTAINED-I-PDU-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="RX-ACCEPT-CONTAINED-I-PDU-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACCEPT-ALL">
            <xsd:annotation>
               <xsd:documentation>No fixed set of containedIPdus is defined, any known containedIPdu (based on headerId) shall be expected within this ContainerIPdu.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="RxAcceptContainedIPduEnum.acceptAll"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ACCEPT-CONFIGURED">
            <xsd:annotation>
               <xsd:documentation>A fixed set of containedIPdus is defined. Only these assigned containedIPdus are expected in this ContainerIPdu. If a not assigned containedIPdu is received within this ContainerIPdu this containedIPdu is discarded.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="RxAcceptContainedIPduEnum.acceptConfigured"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SOMEIP-MESSAGE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Depending on the style of the communication different message types shall be set in the header of a SOME/IP message.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPMessageTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SOMEIP-MESSAGE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SOMEIP-MESSAGE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ERROR">
            <xsd:annotation>
               <xsd:documentation>The response containing an error.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SOMEIPMessageTypeEnum.error"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NOTIFICATION">
            <xsd:annotation>
               <xsd:documentation>A request of a notification expecting no response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SOMEIPMessageTypeEnum.notification"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REQUEST">
            <xsd:annotation>
               <xsd:documentation>A request expecting a response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SOMEIPMessageTypeEnum.request"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="REQUEST-NO-RETURN">
            <xsd:annotation>
               <xsd:documentation>A fire&amp;forget request.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="SOMEIPMessageTypeEnum.requestNoReturn"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RESPONSE">
            <xsd:annotation>
               <xsd:documentation>The response message.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="SOMEIPMessageTypeEnum.response"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SOMEIP-TRANSFORMER-SESSION-HANDLING-ENUM">
      <xsd:annotation>
         <xsd:documentation>Enables or disable session handling for SOME/IP transformer</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SOMEIPTransformerSessionHandlingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SOMEIP-TRANSFORMER-SESSION-HANDLING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SOMEIP-TRANSFORMER-SESSION-HANDLING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="SESSION-HANDLING-ACTIVE">
            <xsd:annotation>
               <xsd:documentation>The SOME/IP Transformer shall use session handling</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SOMEIPTransformerSessionHandlingEnum.sessionHandlingActive"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SESSION-HANDLING-INACTIVE">
            <xsd:annotation>
               <xsd:documentation>The SOME/IP Transformer doesn't use session handling</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SOMEIPTransformerSessionHandlingEnum.sessionHandlingInactive"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SCALE-CONSTR-VALIDITY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the possible values of a scale.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ScaleConstrValidityEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SCALE-CONSTR-VALIDITY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SCALE-CONSTR-VALIDITY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NOT-AVAILABLE">
            <xsd:annotation>
               <xsd:documentation>Currently invalid area
The value usually is presented by the ECU but can currently not be performed
due to e.g. initialization or temporary problems. Please note, that this behavior
appears during runtime and cannot be handled while data is edited.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ScaleConstrValidityEnum.notAvailable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NOT-DEFINED">
            <xsd:annotation>
               <xsd:documentation>Indicates an area which is marked in a specification (e.g. as reserved)
Shall usually not be set by the ECU but is used by a tester to verify correct ECU.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ScaleConstrValidityEnum.notDefined"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NOT-VALID">
            <xsd:annotation>
               <xsd:documentation>The ECU cannot process the requested data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ScaleConstrValidityEnum.notValid"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VALID">
            <xsd:annotation>
               <xsd:documentation>Current value is within a valid range and can be presented to user as is.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="ScaleConstrValidityEnum.valid"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SECTION-INITIALIZATION-POLICY-TYPE">
      <xsd:annotation>
         <xsd:documentation>SectionInitializationPolicyType describes the intended initialization of MemorySections. 
The following values are standardized in AUTOSAR Methodology:

* '''NO-INIT''': No initialization and no clearing is performed. Such data elements shall not be read before one has written a value into it.
* '''INIT''': To be used for data that are initialized by every reset to the specified value (initValue). 
* '''POWER-ON-INIT''': To be used for data that are initialized by "Power On" to the specified value (initValue). Note: there might be several resets between power on resets. 
* '''CLEARED''': To be used for data that are initialized by every reset to zero. 
* '''POWER-ON-CLEARED''': To be used for data that are initialized by "Power On" to zero. Note: there might be several resets between power on resets.

Please note that the values are defined similar to the representation of enumeration types in the XML schema to ensure backward compatibility.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SectionInitializationPolicyType";xml.xsd.customType="SECTION-INITIALIZATION-POLICY-TYPE";xml.xsd.type="NMTOKEN"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SECTION-INITIALIZATION-POLICY-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SECTION-INITIALIZATION-POLICY-TYPE--SIMPLE">
      <xsd:restriction base="xsd:NMTOKEN"/>
   </xsd:simpleType>
   <xsd:complexType name="SERVER-ARGUMENT-IMPL-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This defines how the argument type of the servers RunnableEntity is implemented.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServerArgumentImplPolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SERVER-ARGUMENT-IMPL-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SERVER-ARGUMENT-IMPL-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="USE-ARGUMENT-TYPE">
            <xsd:annotation>
               <xsd:documentation>The argument type of the RunnableEntity is derived from the AutosarDataType of the ArgumentPrototype.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ServerArgumentImplPolicyEnum.useArgumentType"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="USE-ARRAY-BASE-TYPE">
            <xsd:annotation>
               <xsd:documentation>The argument type of the RunnableEntity is derived from the AutosarDataType of the elements of the array that corresponds to the ArgumentPrototype. This represents the base type of the array in C.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ServerArgumentImplPolicyEnum.useArrayBaseType"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="USE-VOID">
            <xsd:annotation>
               <xsd:documentation>The argument type of the RunnableEntity is void.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ServerArgumentImplPolicyEnum.useVoid"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SERVICE-PROVIDER-ENUM">
      <xsd:annotation>
         <xsd:documentation>This represents a list of possible service providers</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ServiceProviderEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SERVICE-PROVIDER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SERVICE-PROVIDER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ANY-STANDARDIZED">
            <xsd:annotation>
               <xsd:documentation>This value means that the specific nature is either unknown or it is not important for the given purpose. This is also the default value for any attribute of type ServiceProviderEnum</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ServiceProviderEnum.anyStandardized"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BASIC-SOFTWARE-MODE-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Basic Software Mode Manager (BswM)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ServiceProviderEnum.basicSoftwareModeManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="COM-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the COM Manager (ComM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ServiceProviderEnum.comManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CRYPTO-SERVICE-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Crypto Service Manager (CsM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="ServiceProviderEnum.cryptoServiceManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEFAULT-ERROR-TRACER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Default Error Tracer (DET)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="ServiceProviderEnum.defaultErrorTracer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DEVELOPMENT-ERROR-TRACER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Development Error Tracer (DET).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";atp.Status="removed";mmt.qualifiedName="ServiceProviderEnum.developmentErrorTracer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DIAGNOSTIC-COMMUNICATION-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Diagnostic Communication Manager (DCM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="ServiceProviderEnum.diagnosticCommunicationManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DIAGNOSTIC-EVENT-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Diagnostic Event Manager (DEM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="7";mmt.qualifiedName="ServiceProviderEnum.diagnosticEventManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="DIAGNOSTIC-LOG-AND-TRACE">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Diagnostic Log and Trace (DLT).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="8";mmt.qualifiedName="ServiceProviderEnum.diagnosticLogAndTrace"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="ECU-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the ECU Manager (EcuM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="9";mmt.qualifiedName="ServiceProviderEnum.ecuManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FUNCTION-INHIBITION-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Function Inhibition Manager (FIM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="10";mmt.qualifiedName="ServiceProviderEnum.functionInhibitionManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="J-1939-REQUEST-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the J1939Rm.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="11";mmt.qualifiedName="ServiceProviderEnum.j1939RequestManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NON-VOLATILE-RAM-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Non-Volatile RAM Manager (NvM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="12";mmt.qualifiedName="ServiceProviderEnum.nonVolatileRamManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPERATING-SYSTEM">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Operating System (OS).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="13";mmt.qualifiedName="ServiceProviderEnum.operatingSystem"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SECURE-ON-BOARD-COMMUNICATION">
            <xsd:annotation>
               <xsd:documentation>The service relates to the SecOc module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="14";mmt.qualifiedName="ServiceProviderEnum.secureOnBoardCommunication"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SYNC-BASE-TIME-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Sync Time Base Manager (StbM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="15";mmt.qualifiedName="ServiceProviderEnum.syncBaseTimeManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VENDOR-SPECIFIC">
            <xsd:annotation>
               <xsd:documentation>This value denotes a vendor-specific service.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="16";mmt.qualifiedName="ServiceProviderEnum.vendorSpecific"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WATCH-DOG-MANAGER">
            <xsd:annotation>
               <xsd:documentation>The service relates to the Watchdog Manager (WdgM).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="17";mmt.qualifiedName="ServiceProviderEnum.watchDogManager"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SEVERITY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Definition of severity levels.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SeverityEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SEVERITY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SEVERITY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ERROR">
            <xsd:annotation>
               <xsd:documentation>Something is not right. High risk of interoperability issues.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SeverityEnum.error"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INFO">
            <xsd:annotation>
               <xsd:documentation>Something was found that is worth mentioning. Low risk of interoperability issues.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SeverityEnum.info"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WARNING">
            <xsd:annotation>
               <xsd:documentation>Something might be wrong depending on the context. Medium risk of interoperability issues.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SeverityEnum.warning"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-CONTENT-ENUM">
      <xsd:annotation>
         <xsd:documentation>This specifies if the content of the xref element shall be rendered.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowContentEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-CONTENT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-CONTENT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-CONTENT">
            <xsd:annotation>
               <xsd:documentation>The content of the Xref.label is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowContentEnum.noShowContent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-CONTENT">
            <xsd:annotation>
               <xsd:documentation>The content of the element is rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowContentEnum.showContent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-ALIAS-NAME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the alias names of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourceAliasNameEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-ALIAS-NAME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-ALIAS-NAME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-ALIAS-NAME">
            <xsd:annotation>
               <xsd:documentation>This indicates that alias names of the referenced object shall '''not''' be rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourceAliasNameEnum.noShowAliasName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-ALIAS-NAME">
            <xsd:annotation>
               <xsd:documentation>This indicates that the alias names of the referenced object shall be rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourceAliasNameEnum.showAliasName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-CATEGORY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the category of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourceCategoryEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-CATEGORY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-CATEGORY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-CATEGORY">
            <xsd:annotation>
               <xsd:documentation>The category of the target is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourceCategoryEnum.noShowCategory"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-CATEGORY">
            <xsd:annotation>
               <xsd:documentation>The category of the target is  rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourceCategoryEnum.showCategory"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-LONG-NAME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the long name of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourceLongNameEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-LONG-NAME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-LONG-NAME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>The long name of the target is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourceLongNameEnum.noShowLongName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-LONG-NAME">
            <xsd:annotation>
               <xsd:documentation>The long name of the target is rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourceLongNameEnum.showLongName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-NUMBER-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the number (e.g. chapter number) of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourceNumberEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-NUMBER-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-NUMBER-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-NUMBER">
            <xsd:annotation>
               <xsd:documentation>The number of the target is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourceNumberEnum.noShowNumber"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-NUMBER">
            <xsd:annotation>
               <xsd:documentation>The number of the target is rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourceNumberEnum.showNumber"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-PAGE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the page numer of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourcePageEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-PAGE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-PAGE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-PAGE">
            <xsd:annotation>
               <xsd:documentation>The page number  of the target is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourcePageEnum.noShowPage"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-PAGE">
            <xsd:annotation>
               <xsd:documentation>The page number  of the target is rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourcePageEnum.showPage"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-SHORT-NAME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the short name of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourceShortNameEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-SHORT-NAME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-SHORT-NAME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-SHORT-NAME">
            <xsd:annotation>
               <xsd:documentation>The short name of the target is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourceShortNameEnum.noShowShortName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-SHORT-NAME">
            <xsd:annotation>
               <xsd:documentation>The short name of the target is rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourceShortNameEnum.showShortName"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-RESOURCE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the type (e.g. derived from the class) of the reference target shall be rendered with the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowResourceTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-RESOURCE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-RESOURCE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-TYPE">
            <xsd:annotation>
               <xsd:documentation>The type of the target is '''not''' rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowResourceTypeEnum.noShowType"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-TYPE">
            <xsd:annotation>
               <xsd:documentation>The type of the target is rendered at the place of the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowResourceTypeEnum.showType"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SHOW-SEE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies if the word "see" shall be rendered before the xref.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ShowSeeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SHOW-SEE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SHOW-SEE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NO-SHOW-SEE">
            <xsd:annotation>
               <xsd:documentation>The word "see" is '''not''' rendered before  the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ShowSeeEnum.noShowSee"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SHOW-SEE">
            <xsd:annotation>
               <xsd:documentation>The word "see"is rendered before the reference.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ShowSeeEnum.showSee"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SIGNAL-FAN-ENUM">
      <xsd:annotation>
         <xsd:documentation>Signal Fan inside the Composition Component Type.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SignalFanEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SIGNAL-FAN-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SIGNAL-FAN-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NFOLD">
            <xsd:annotation>
               <xsd:documentation>The connections internally in the CompositionSwComponentType via DelegationSwConnectors and AssemblySwConnectors are defined in a way that at least one data element present in the S/R interface or one ClientServerOperation in the C/S interface of the outer PortPrototype is involved in a 1:n or n:1 communication pattern.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SignalFanEnum.nfold"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SINGLE">
            <xsd:annotation>
               <xsd:documentation>The connections internally in the CompositionSwComponentType via DelegationSwConnectors and AssemblySwConnectors are defined in a way that each VariableDataPrototype  present in the S/R interface or ClientServerOperation in the C/S interface of the outer PortPrototype is involved in a 1:1 communication pattern only.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SignalFanEnum.single"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SO-AD-CONNECTOR-TYPE">
      <xsd:annotation>
         <xsd:documentation>Availability of protocol plug-ins. Entries in the Socket and PDU Routing Tables.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SoAdConnectorType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SO-AD-CONNECTOR-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SO-AD-CONNECTOR-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DO-IP">
            <xsd:annotation>
               <xsd:documentation>Diagnosis over IP</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SoAdConnectorType.DoIp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PDU-R">
            <xsd:annotation>
               <xsd:documentation>Pdu Router</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SoAdConnectorType.PduR"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UDP-NM">
            <xsd:annotation>
               <xsd:documentation>Udp Nm</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SoAdConnectorType.UdpNm"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="XCP">
            <xsd:annotation>
               <xsd:documentation>Universal Measurement and Calibration Protocol</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="SoAdConnectorType.Xcp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SO-AD-PROTOCOL-TYPE">
      <xsd:annotation>
         <xsd:documentation>Transport Protocols above IP.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";mmt.qualifiedName="SoAdProtocolType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SO-AD-PROTOCOL-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SO-AD-PROTOCOL-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TCP">
            <xsd:annotation>
               <xsd:documentation>Transmission Control Protocol (TCP) enables two hosts to establish a connection and exchange streams of data.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SoAdProtocolType.tcp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UDP">
            <xsd:annotation>
               <xsd:documentation>User Datagram Protocol (UDP) offers a connectionless way to send and receive datagrams over an IP network. It's used primarily for broadcasting messages over a network.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SoAdProtocolType.udp"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="STANDARD-REVISION-LABEL-STRING">
      <xsd:annotation>
         <xsd:documentation>Specifies a revision of an AUTOSAR standard. The label is composed out of an abbreviation of the standard and an identification of the revision:

"&lt;standard_abbr&gt; R&lt;major&gt;.&lt;minor&gt;.&lt;revision&gt;"

&lt;standard_abbr&gt; is one of:
* FO - Foundation
* CP - Classic Platform
* AP - Adaptive Platform
* TC - Acceptance Tests for Classic Platform</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StandardRevisionLabelString";xml.xsd.customType="STANDARD-REVISION-LABEL-STRING";xml.xsd.pattern="(FO|CP|TC|AP) R[0-9]+\.[0-9]+\.[0-9]+([\._;].*)?";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:STANDARD-REVISION-LABEL-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="STANDARD-REVISION-LABEL-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(FO|CP|TC|AP) R[0-9]+\.[0-9]+\.[0-9]+([\._;].*)?"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="STORAGE-CONDITION-STATUS-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration specifies the initial status for enable or disable of storage of a diagnostic event.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="StorageConditionStatusEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:STORAGE-CONDITION-STATUS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="STORAGE-CONDITION-STATUS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="EVENT-STORAGE-DISABLED">
            <xsd:annotation>
               <xsd:documentation>Storage of a diagnostic event is disabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="StorageConditionStatusEnum.eventStorageDisabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EVENT-STORAGE-ENABLED">
            <xsd:annotation>
               <xsd:documentation>Storage of a diagnostic event is enabled.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="StorageConditionStatusEnum.eventStorageEnabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="STRING">
      <xsd:annotation>
         <xsd:documentation>This represents a String in which white-space must be normalized before processing. For example: in order to compare two Strings:

* leading and trailing white-space needs to be removed
* consecutive white-space (blank, cr, lf, tab) needs to be replaced by one blank.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="String";xml.xsd.customType="STRING";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="STRING--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="SUPSCRIPT">
      <xsd:annotation>
         <xsd:documentation>This is text which is rendered superscript or subscript depending on the role.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="Superscript";xml.xsd.customType="SUPSCRIPT";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SUPSCRIPT--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SUPSCRIPT--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="SUPPORT-BUFFER-LOCKING-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration represents the ability to define the buffer locking behavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SupportBufferLockingEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SUPPORT-BUFFER-LOCKING-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SUPPORT-BUFFER-LOCKING-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DOES-NOT-SUPPORT-BUFFER-LOCKING">
            <xsd:annotation>
               <xsd:documentation>Buffer locking is not supported.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SupportBufferLockingEnum.doesNotSupportBufferLocking"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SUPPORTS-BUFFER-LOCKING">
            <xsd:annotation>
               <xsd:documentation>Buffer locking is supported.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SupportBufferLockingEnum.supportsBufferLocking"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SW-CALIBRATION-ACCESS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Determines the access rights to a data object w.r.t. measurement and calibration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwCalibrationAccessEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SW-CALIBRATION-ACCESS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SW-CALIBRATION-ACCESS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="NOT-ACCESSIBLE">
            <xsd:annotation>
               <xsd:documentation>The element will not be accessible via MCD tools, i.e. will not appear in the ASAP file.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwCalibrationAccessEnum.notAccessible"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="READ-ONLY">
            <xsd:annotation>
               <xsd:documentation>The element will only appear as read-only in an ASAP file.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SwCalibrationAccessEnum.readOnly"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="READ-WRITE">
            <xsd:annotation>
               <xsd:documentation>The element will appear in the ASAP file with both read and write access.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SwCalibrationAccessEnum.readWrite"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SW-IMPL-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the implementation strategy with respect to consistency mechanisms of variables.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwImplPolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SW-IMPL-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SW-IMPL-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CONST">
            <xsd:annotation>
               <xsd:documentation>forced implementation such that the  running software within the ECU  shall not modify it. For example implemented with the "const" modifier in C.  This can be applied for parameters (not for those in NVRAM) as well as argument  data prototypes.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwImplPolicyEnum.const"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FIXED">
            <xsd:annotation>
               <xsd:documentation>This data element is fixed. In particular this indicates, that it  might also be implemented  e.g. as in place data, (#DEFINE).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SwImplPolicyEnum.fixed"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MEASUREMENT-POINT">
            <xsd:annotation>
               <xsd:documentation>The data element is created for measurement purposes only.  The data element is never read directly within the ECU software. In contrast to  a "standard" data element in an unconnected provide port is, this unconnection  is guaranteed for  measurementPoint data elements.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SwImplPolicyEnum.measurementPoint"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="QUEUED">
            <xsd:annotation>
               <xsd:documentation>The content of the data element is queued and the data element has 'event' semantics, i.e. data elements are stored in a queue and all data  elements are processed in 'first in first out' order. 
The queuing is intended to be implemented by RTE Generator.
This value is not applicable for parameters.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="SwImplPolicyEnum.queued"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STANDARD">
            <xsd:annotation>
               <xsd:documentation>This is applicable for all kinds of data elements. For variable  data prototypes the 'last is best' semantics applies. For parameter there is no  specific implementation directive.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="SwImplPolicyEnum.standard"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SW-SERVICE-IMPL-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>This specifies the legal values for the implementation policies for services (in AUTOSAR: BswModuleEntry-s).</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceImplPolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SW-SERVICE-IMPL-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SW-SERVICE-IMPL-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="INLINE">
            <xsd:annotation>
               <xsd:documentation>inline service definition.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwServiceImplPolicyEnum.inline"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INLINE-CONDITIONAL">
            <xsd:annotation>
               <xsd:documentation>The service (in AUTOSAR: BswModuleEntry) is implemented in a way that it either resolves to an inline function or to a standard function depending on conditions set at a later point in time.

This could be handled by using the AUTOSAR compiler abstraction macros (INLINE, LOCAL_INLINE) and/or by further compiler switches depending on ECU configuration values.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SwServiceImplPolicyEnum.inlineConditional"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MACRO">
            <xsd:annotation>
               <xsd:documentation>macro service definition.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SwServiceImplPolicyEnum.macro"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STANDARD">
            <xsd:annotation>
               <xsd:documentation>Standard service and default value, if nothing is defined.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="SwServiceImplPolicyEnum.standard"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SW-SERVICE-REENTRANCE-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the legal values for reentrancy of services.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwServiceReentranceEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SW-SERVICE-REENTRANCE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SW-SERVICE-REENTRANCE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="REENTRANCE">
            <xsd:annotation>
               <xsd:documentation>If this element is not defined the service cannot be invoked when it is executing.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwServiceReentranceEnum.reentrance"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SW-VARIABLE-ACCESS-IMPL-POLICY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Detailed access policy for variables, for which data consistency is implemented via messages.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwVariableAccessImplPolicyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SW-VARIABLE-ACCESS-IMPL-POLICY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SW-VARIABLE-ACCESS-IMPL-POLICY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DIRECT">
            <xsd:annotation>
               <xsd:documentation>Messages with DIRECT access are read but ignored by data consistency tool. Data consistency
is not guaranteed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwVariableAccessImplPolicyEnum.direct"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPTIMIZED">
            <xsd:annotation>
               <xsd:documentation>A Tool handles data consistency. 

In SwService, where a message is referenced, only OPTIMIZED access (also default
value inside SwServcie) is possible.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SwVariableAccessImplPolicyEnum.optimized"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SELECTABLE">
            <xsd:annotation>
               <xsd:documentation>The user can decide inside each single service, where these message is referenced, if
access to that shall be OPTIMIZED or DIRECT.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="SwVariableAccessImplPolicyEnum.selectable"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SWC-TO-ECU-MAPPING-CONSTRAINT-TYPE">
      <xsd:annotation>
         <xsd:documentation>There are two different SwcToEcuMapping constraints: dedicated mapping and exclusive mapping.</xsd:documentation>
         <xsd:appinfo source="tags">atp.Status="removed";atp.StatusRevisionBegin="4.3.0";mmt.qualifiedName="SwcToEcuMappingConstraintType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SWC-TO-ECU-MAPPING-CONSTRAINT-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SWC-TO-ECU-MAPPING-CONSTRAINT-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DEDICATED">
            <xsd:annotation>
               <xsd:documentation>Dedicated mapping means that the SW-C can only be mapped to the ECUs it is dedicated to.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwcToEcuMappingConstraintType.dedicated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="EXCLUSIVE">
            <xsd:annotation>
               <xsd:documentation>Exclusive mapping means that the SW-C cannot be mapped to the ECUs it is excluded from.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SwcToEcuMappingConstraintType.exclusive"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SWC-TO-SWC-OPERATION-ARGUMENTS-DIRECTION-ENUM">
      <xsd:annotation>
         <xsd:documentation>Direction addressed by this  element.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SwcToSwcOperationArgumentsDirectionEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SWC-TO-SWC-OPERATION-ARGUMENTS-DIRECTION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SWC-TO-SWC-OPERATION-ARGUMENTS-DIRECTION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="IN">
            <xsd:annotation>
               <xsd:documentation>IN (all IN and INOUT arguments)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SwcToSwcOperationArgumentsDirectionEnum.in"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OUT">
            <xsd:annotation>
               <xsd:documentation>OUT (all OUT and INOUT arguments) .</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SwcToSwcOperationArgumentsDirectionEnum.out"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="SYNCHRONIZATION-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the type of the synchronization timing constraint.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="SynchronizationTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:SYNCHRONIZATION-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="SYNCHRONIZATION-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RESPONSE-SYNCHRONIZATION">
            <xsd:annotation>
               <xsd:documentation>In case that the Synchronization Timing Constraint is specified for event chains, the response events of the associated event chains must occur synchronously with respect to the specified tolerance. All associated event chains must have the same stimulus event.

In case that the Synchronization Timing Constraint is specified for events, the associated events must occur synchronously with respect to the specified tolerance. All associated events represent the response events of a common stimulus event, even such a stimulus event is not known yet or not available in the scope of the model.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="SynchronizationTypeEnum.responseSynchronization"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STIMULUS-SYNCHRONIZATION">
            <xsd:annotation>
               <xsd:documentation>In case that the Synchronization Timing Constraint is specified for event chains, the stimulus events of the associated event chains must occur synchronously with respect to the specified tolerance. All associated event chains must have the same response event.

In case that the Synchronization Timing Constraint is specified for events, the associated events must occur synchronously with respect to the specified tolerance. All associated events represent the stimulus events of a common response event, even such a response event is not known yet or not available in the scope of the model.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="SynchronizationTypeEnum.stimulusSynchronization"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-BSW-INTERNAL-BEHAVIOR-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventBswInternalBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswInternalBehaviorTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-BSW-INTERNAL-BEHAVIOR-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-BSW-INTERNAL-BEHAVIOR-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-MODULE-ENTITY-ACTIVATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated BswModuleEntity has been activated, which means that it has entered the state "to be started".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventBswInternalBehaviorTypeEnum.bswModuleEntityActivated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BSW-MODULE-ENTITY-STARTED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated BswModuleEntity has entered the state "started" after its activation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventBswInternalBehaviorTypeEnum.bswModuleEntityStarted"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BSW-MODULE-ENTITY-TERMINATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated BswModuleEntity has terminated and entered the state "suspended"</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TDEventBswInternalBehaviorTypeEnum.bswModuleEntityTerminated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-BSW-MODE-DECLARATION-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventBswModeDeclaration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModeDeclarationTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-BSW-MODE-DECLARATION-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-BSW-MODE-DECLARATION-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-DECLARATION-REQUESTED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated ModeDeclarationGroupPrototype has been requested.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventBswModeDeclarationTypeEnum.modeDeclarationRequested"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MODE-DECLARATION-SWITCH-COMPLETED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the switch to the associated ModeDeclarationGroupPrototype has been completed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventBswModeDeclarationTypeEnum.modeDeclarationSwitchCompleted"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MODE-DECLARATION-SWITCH-INITIATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the switch to the associated ModeDeclarationGroupPrototype has been initiated by the BswM.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TDEventBswModeDeclarationTypeEnum.modeDeclarationSwitchInitiated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-BSW-MODULE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventBswModule.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventBswModuleTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-BSW-MODULE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-BSW-MODULE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BSW-M-ENTRY-CALL-RETURNED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the call of the associated BswModuleEntry has returned.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventBswModuleTypeEnum.bswMEntryCallReturned"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="BSW-M-ENTRY-CALLED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated BswModuleEntry has been called.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventBswModuleTypeEnum.bswMEntryCalled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-FRAME-ETHERNET-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventFrameEthernet.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameEthernetTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-FRAME-ETHERNET-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-FRAME-ETHERNET-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FRAME-ETHERNET-QUEUED-FOR-TRANSMISSION">
            <xsd:annotation>
               <xsd:documentation>A point in time where the Ethernet frame containing the specified PDUs is queued for transmission within the corresponding Ethernet Communication Driver.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventFrameEthernetTypeEnum.frameEthernetQueuedForTransmission"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FRAME-ETHERNET-RECEIVED-BY-IF">
            <xsd:annotation>
               <xsd:documentation>A point in time where the frame is pushed from the corresponding Ethernet communication controller to the BSW Ethernet communication interface.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventFrameEthernetTypeEnum.frameEthernetReceivedByIf"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FRAME-ETHERNET-RECEIVED-ON-BUS">
            <xsd:annotation>
               <xsd:documentation>A point in time where the receipt of the Ethernet frame/packet completes successfully on the recipient's Ethernet communication controller. In other words, the Ethernet frame/packet has entered the recipient's Ethernet communication controller which means the last bit of the Ethernet frame/packet has been received.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TDEventFrameEthernetTypeEnum.frameEthernetReceivedOnBus"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FRAME-ETHERNET-SENT-ON-BUS">
            <xsd:annotation>
               <xsd:documentation>A point in time where the transmission of the Ethernet frame/packet completes successfully on the physical Ethernet communication network. In other words, the Ethernet frame/packet has left the sender's Ethernet communication controller, which means that the last bit of the Ethernet frame/packet has been sent.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TDEventFrameEthernetTypeEnum.frameEthernetSentOnBus"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-FRAME-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventFrame.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventFrameTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-FRAME-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-FRAME-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="FRAME-QUEUED-FOR-TRANSMISSION">
            <xsd:annotation>
               <xsd:documentation>A point in time where the frame containing the named signal / I-PDU is queued for transmission within the related Communication Driver.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventFrameTypeEnum.frameQueuedForTransmission"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FRAME-RECEIVED-BY-IF">
            <xsd:annotation>
               <xsd:documentation>A point in time where the frame is pushed from the subscriber's communication controller to the corresponding (FlexRay / CAN / LIN) Interface BSW module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventFrameTypeEnum.frameReceivedByIf"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FRAME-TRANSMITTED-ON-BUS">
            <xsd:annotation>
               <xsd:documentation>A point in time where the transmission of the frame completes successfully, and the subscriber's communication controller receives the frame from the bus.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TDEventFrameTypeEnum.frameTransmittedOnBus"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-I-PDU-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventIPdu.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventIPduTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-I-PDU-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-I-PDU-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-PDU-RECEIVED-BY-COM">
            <xsd:annotation>
               <xsd:documentation>A point in time where the received frame is processed by the corresponding (FlexRay / CAN / LIN) Interface BSW module, routed through the PDUR and the contained PDUs are pushed to the COM module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventIPduTypeEnum.iPduReceivedByCOM"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="I-PDU-SENT-TO-IF">
            <xsd:annotation>
               <xsd:documentation>A point in time where the carrier COM I-PDU is routed through the PDUR and is pushed to the bus specific (FlexRay / CAN / LIN) Interface BSW module.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventIPduTypeEnum.iPduSentToIf"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-I-SIGNAL-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventISignal.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventISignalTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-I-SIGNAL-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-I-SIGNAL-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="I-SIGNAL-AVAILABLE-FOR-RTE">
            <xsd:annotation>
               <xsd:documentation>A point in time, where the COM module makes the contained signal / signal group available for the RTE and the corresponding Rx Indication callout is generated (if configured).</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventISignalTypeEnum.iSignalAvailableForRTE"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="I-SIGNAL-SENT-TO-COM">
            <xsd:annotation>
               <xsd:documentation>A point in time, where a transmission request call is issued by the RTE on a named COM signal / signal group and the new value is stored to the carrier COM I-PDU buffer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventISignalTypeEnum.iSignalSentToCOM"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-MODE-DECLARATION-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventModeDeclaration</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventModeDeclarationTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-MODE-DECLARATION-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-MODE-DECLARATION-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="MODE-DECLARATION-SWITCH-COMPLETED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the switch to the associated ModeDeclarationGroupPrototype has been completed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventModeDeclarationTypeEnum.modeDeclarationSwitchCompleted"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MODE-DECLARATION-SWITCH-INITIATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the switch to the associated ModeDeclarationGroupPrototype has been initiated.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventModeDeclarationTypeEnum.modeDeclarationSwitchInitiated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-OPERATION-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventOperation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventOperationTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-OPERATION-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-OPERATION-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="OPERATION-CALL-RECEIVED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the call of the referenced operation is received by the server SWC.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventOperationTypeEnum.operationCallReceived"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPERATION-CALL-RESPONSE-RECEIVED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the client SWC has received the response of the referenced operation call.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TDEventOperationTypeEnum.operationCallResponseReceived"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPERATION-CALL-RESPONSE-SENT">
            <xsd:annotation>
               <xsd:documentation>A point in time where the server SWC has terminated with the execution of the referenced operation, and has sent out a response.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TDEventOperationTypeEnum.operationCallResponseSent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="OPERATION-CALLED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the referenced operation is called by the client SWC.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventOperationTypeEnum.operationCalled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-SWC-INTERNAL-BEHAVIOR-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventSwcInternalBehavior.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventSwcInternalBehaviorTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-SWC-INTERNAL-BEHAVIOR-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-SWC-INTERNAL-BEHAVIOR-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RUNNABLE-ENTITY-ACTIVATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated RunnableEntity has been activated, which means that it has entered the state "to be started".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventSwcInternalBehaviorTypeEnum.runnableEntityActivated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RUNNABLE-ENTITY-STARTED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated RunnableEntity has entered the state "started" after its activation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventSwcInternalBehaviorTypeEnum.runnableEntityStarted"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RUNNABLE-ENTITY-TERMINATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated RunnableEntity has terminated and entered the state "suspended".</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TDEventSwcInternalBehaviorTypeEnum.runnableEntityTerminated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="RUNNABLE-ENTITY-VARIABLE-ACCESS">
            <xsd:annotation>
               <xsd:documentation>A point in time where the associated variable is accessed.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TDEventSwcInternalBehaviorTypeEnum.runnableEntityVariableAccess"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-TRIGGER-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventTrigger.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventTriggerTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-TRIGGER-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-TRIGGER-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="TRIGGER-ACTIVATED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the referenced trigger has been successfully released and is activating runnable entities of the receiving SW-C.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventTriggerTypeEnum.triggerActivated"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRIGGER-RELEASED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the referenced trigger has been successfully released by the emitting SW-C.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventTriggerTypeEnum.triggerReleased"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TD-EVENT-VARIABLE-DATA-PROTOTYPE-TYPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This is used to describe the specific event type of a TDEventVariableDataPrototype</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TDEventVariableDataPrototypeTypeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TD-EVENT-VARIABLE-DATA-PROTOTYPE-TYPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TD-EVENT-VARIABLE-DATA-PROTOTYPE-TYPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE-RECEIVED">
            <xsd:annotation>
               <xsd:documentation>A point in time where the referenced variable data prototype has been successfully transmitted and is available in the related communication buffer (of the RTE) for the receiving SWC.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TDEventVariableDataPrototypeTypeEnum.variableDataPrototypeReceived"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="VARIABLE-DATA-PROTOTYPE-SENT">
            <xsd:annotation>
               <xsd:documentation>A point in time where the referenced variable data prototype has been successfully sent out by the sending SWC, so that it is available in the related communication buffer (of the RTE) for transmission.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TDEventVariableDataPrototypeTypeEnum.variableDataPrototypeSent"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TABLE-SEPARATOR-STRING">
      <xsd:annotation>
         <xsd:documentation>This represents the ability to denote a separator string within an OASIS exchange table.

* '''0''': no line is displayed

* '''1''': line is displayed</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TableSeparatorString";xml.xsd.customType="TABLE-SEPARATOR-STRING";xml.xsd.pattern="[0-1]";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TABLE-SEPARATOR-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TABLE-SEPARATOR-STRING--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[0-1]"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TIME-SYNC-TECHNOLOGY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Timesynchronization. Server/Client configuration.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeSyncTechnologyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TIME-SYNC-TECHNOLOGY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TIME-SYNC-TECHNOLOGY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AVB--IEEE-802--1-AS">
            <xsd:annotation>
               <xsd:documentation>Ethernet AVB compliant IEEE802.1AS Precision Time Protocol</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TimeSyncTechnologyEnum.avb_ieee802_1AS"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NTP--RFC-958">
            <xsd:annotation>
               <xsd:documentation>Network Time Protocol (NTP)</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TimeSyncTechnologyEnum.ntp_rfc958"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PTP--IEEE-1588--2002">
            <xsd:annotation>
               <xsd:documentation>Precision Time Protocol (PTP) IEEE 1588-2002</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TimeSyncTechnologyEnum.ptp_ieee1588_2002"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="PTP--IEEE-1588--2008">
            <xsd:annotation>
               <xsd:documentation>Precision Time Protocol (PTP) IEEE 1588-2008</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TimeSyncTechnologyEnum.ptp_ieee1588_2008"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TIME-VALUE">
      <xsd:annotation>
         <xsd:documentation>This primitive type is taken for expressing time values. The numerical value is supposed to be interpreted in the physical unit second.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TimeValue";xml.xsd.customType="TIME-VALUE";xml.xsd.type="double"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TIME-VALUE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TIME-VALUE--SIMPLE">
      <xsd:restriction base="xsd:double"/>
   </xsd:simpleType>
   <xsd:complexType name="TP-ACK-TYPE">
      <xsd:annotation>
         <xsd:documentation>Type of Acknowledgement.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TpAckType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TP-ACK-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TP-ACK-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="ACK-WITH-RT">
            <xsd:annotation>
               <xsd:documentation>Acknowledgement with retry.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TpAckType.ackWithRt"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NO-ACK">
            <xsd:annotation>
               <xsd:documentation>No acknowledgement.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TpAckType.noAck"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TRANSFER-PROPERTY-ENUM">
      <xsd:annotation>
         <xsd:documentation>Transfer Properties of a Signal.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransferPropertyEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TRANSFER-PROPERTY-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TRANSFER-PROPERTY-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="PENDING">
            <xsd:annotation>
               <xsd:documentation>If the signal has the TransferProperty pending, then the function Com_SendSignal shall not perform a transmission of the IPdu associated with the signal.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TransferPropertyEnum.pending"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRIGGERED">
            <xsd:annotation>
               <xsd:documentation>The signal in the assigned IPdu is updated and a request for the IPdu's transmission is made.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TransferPropertyEnum.triggered"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRIGGERED-ON-CHANGE">
            <xsd:annotation>
               <xsd:documentation>The signal in the assigned IPdu is updated and a request for the IPdus transmission is made only if the signal value is different from the already stored signal value.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TransferPropertyEnum.triggeredOnChange"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRIGGERED-ON-CHANGE-WITHOUT-REPETITION">
            <xsd:annotation>
               <xsd:documentation>The signal in the assigned IPdu is updated and a request for the IPdus transmission is made only if the signal value is different from the already stored signal value.  In the DIRECT/N-TIMES or MIXED transmission mode (EventControlledTiming) the IPdu will be transmitted just once without a repetition, independent of the defined NumberOfRepeats.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TransferPropertyEnum.triggeredOnChangeWithoutRepetition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TRIGGERED-WITHOUT-REPETITION">
            <xsd:annotation>
               <xsd:documentation>The signal in the assigned IPdu is updated and a request for the IPdu's transmission is made. In the DIRECT/N-TIMES or MIXED transmission mode (EventControlledTiming) the IPdu will be transmitted just once without a repetition, independent of the defined NumberOfRepeats.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="TransferPropertyEnum.triggeredWithoutRepetition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TRANSFORMER-CLASS-ENUM">
      <xsd:annotation>
         <xsd:documentation>Specifies the transformer class of a transformer.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TransformerClassEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TRANSFORMER-CLASS-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TRANSFORMER-CLASS-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="CUSTOM">
            <xsd:annotation>
               <xsd:documentation>The transformer is a custom transformer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TransformerClassEnum.custom"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SAFETY">
            <xsd:annotation>
               <xsd:documentation>The transformer is a safety transformer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TransformerClassEnum.safety"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SECURITY">
            <xsd:annotation>
               <xsd:documentation>The transformer is a security transformer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TransformerClassEnum.security"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="SERIALIZER">
            <xsd:annotation>
               <xsd:documentation>The transformer is a serializing transformer.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TransformerClassEnum.serializer"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TRIGGER-MODE">
      <xsd:annotation>
         <xsd:documentation>IPduM can be configured to send a transmission request for the new multiplexed I-PDU to the PDU-Router because of conditions/ modes.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TriggerMode"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TRIGGER-MODE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TRIGGER-MODE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="DYNAMIC-PART-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>IPduM sends a transmission request to the PduR if a dynamic part is received.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TriggerMode.dynamicPartTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="NONE">
            <xsd:annotation>
               <xsd:documentation>IPduM does not trigger transmission because of receiving anything of this IPdu in case of TriggerTransmit.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TriggerMode.none"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STATIC-OR-DYNAMIC-PART-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>IPduM sends a transmission request to the PduR if a static or dynamic part is received.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TriggerMode.staticOrDynamicPartTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="STATIC-PART-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>IPduM sends a transmission request to the PduR if a static part is received.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TriggerMode.staticPartTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="TTCAN-TRIGGER-TYPE">
      <xsd:annotation>
         <xsd:documentation>This type lists all trigger types for a time window.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="TtcanTriggerType"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:TTCAN-TRIGGER-TYPE--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="TTCAN-TRIGGER-TYPE--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="RX-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>Check for message reception</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="TtcanTriggerType.rxTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TX-REF-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>Send reference message in periodic case</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="TtcanTriggerType.txRefTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TX-REF-TRIGGER-GAP">
            <xsd:annotation>
               <xsd:documentation>Send reference message in event-synchronised case</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="TtcanTriggerType.txRefTriggerGap"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TX-TRIGGER-MERGED">
            <xsd:annotation>
               <xsd:documentation>Send message in a merged arbitration window</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="TtcanTriggerType.txTriggerMerged"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TX-TRIGGER-SINGLE">
            <xsd:annotation>
               <xsd:documentation>Send message in an exclusive time window</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="TtcanTriggerType.txTriggerSingle"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WATCH-TRIGGER">
            <xsd:annotation>
               <xsd:documentation>Check for missing reference message in periodic case</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="5";mmt.qualifiedName="TtcanTriggerType.watchTrigger"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="WATCH-TRIGGER-GAP">
            <xsd:annotation>
               <xsd:documentation>Check for missing reference message in event-synchronised case</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="6";mmt.qualifiedName="TtcanTriggerType.watchTriggerGap"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="UDP-CHECKSUM-CALCULATION-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines the UDP checksum calculation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UdpChecksumCalculationEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:UDP-CHECKSUM-CALCULATION-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="UDP-CHECKSUM-CALCULATION-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="UDP-CHECKSUM-DISABLED">
            <xsd:annotation>
               <xsd:documentation>Udp checksum handling shall be disabled</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="UdpChecksumCalculationEnum.udpChecksumDisabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="UDP-CHECKSUM-ENABLED">
            <xsd:annotation>
               <xsd:documentation>Udp checksum handling shall be enabled</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="UdpChecksumCalculationEnum.udpChecksumEnabled"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="UNLIMITED-INTEGER">
      <xsd:annotation>
         <xsd:documentation>An instance of UnlimitedInteger is an element in the set of integer numbers ( ..., -2, -1, 0, 1, 2, ...). 

The range is limited by constraint 2534.

The value can be expressed in decimal, octal, hexadecimal and binary representation. Negative numbers can only be expressed in decimal notation.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UnlimitedInteger";xml.xsd.customType="UNLIMITED-INTEGER";xml.xsd.pattern="[+\-]?[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:UNLIMITED-INTEGER--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="UNLIMITED-INTEGER--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="[+\-]?[1-9][0-9]*|0[xX][0-9a-fA-F]+|0[bB][0-1]+|0[0-7]*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="URI-STRING">
      <xsd:annotation>
         <xsd:documentation>A Uniform Resource Identifier (URI), is a compact string of characters used to identify or name a resource.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="UriString";xml.xsd.customType="URI-STRING";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:URI-STRING--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="URI-STRING--SIMPLE">
      <xsd:restriction base="xsd:string"/>
   </xsd:simpleType>
   <xsd:complexType name="V-2-X-SUPPORT-ENUM">
      <xsd:annotation>
         <xsd:appinfo source="tags">mmt.qualifiedName="V2xSupportEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:V-2-X-SUPPORT-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="V-2-X-SUPPORT-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="V-2-X-ACTIVE-SUPPORTED">
            <xsd:annotation>
               <xsd:documentation>This means that the EcuInstance supports V2X communication as both the sender and the receiver of communication.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="V2xSupportEnum.v2xActiveSupported"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="V-2-X-NOT-SUPPORTED">
            <xsd:annotation>
               <xsd:documentation>This EcuInstance does not support V2X communication</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="V2xSupportEnum.v2xNotSupported"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="VALIGN-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies vertical alignment.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ValignEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:VALIGN-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="VALIGN-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="BOTTOM">
            <xsd:annotation>
               <xsd:documentation>The contents of the table cell is bottom aligned.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="ValignEnum.bottom"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="MIDDLE">
            <xsd:annotation>
               <xsd:documentation>The contents of the table is vertically centered.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="ValignEnum.middle"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TOP">
            <xsd:annotation>
               <xsd:documentation>The contents of the table cell is top aligned.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="ValignEnum.top"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="VARIABLE-ACCESS-SCOPE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration defines scopes for communication.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VariableAccessScopeEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:VARIABLE-ACCESS-SCOPE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="VARIABLE-ACCESS-SCOPE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="COMMUNICATION-INTER-ECU">
            <xsd:annotation>
               <xsd:documentation>This case is foreseen to express that the corresponding communication shall be considered inter-ECU, i.e. it will cross the ECU boundary. This is considered the default case.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="VariableAccessScopeEnum.communicationInterEcu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="COMMUNICATION-INTRA-PARTITION">
            <xsd:annotation>
               <xsd:documentation>This case is foreseen to express that the corresponding communication shall '''not''' cross the boundary of a partition.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="VariableAccessScopeEnum.communicationIntraPartition"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="INTER-PARTITION-INTRA-ECU">
            <xsd:annotation>
               <xsd:documentation>In this case the communication shall cross the boundaries of partitions within one ECU but it shall not cross the boundaries of the ECU itself.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="VariableAccessScopeEnum.interPartitionIntraEcu"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="VERBATIM-STRING-PLAIN">
      <xsd:annotation>
         <xsd:documentation>This primitive represents a string in which white-space needs to be preserved. 

This primitive is applied in cases where xml:space attribute cannot be provided by the primitive type but needs to be provided by the container class. 

This is in particular the case in applications of TR_APRXML_00024.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="VerbatimStringPlain";xml.xsd.customType="VERBATIM-STRING-PLAIN";xml.xsd.type="string";xml.xsd.whiteSpace="preserve"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:VERBATIM-STRING-PLAIN--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="VERBATIM-STRING-PLAIN--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:whiteSpace value="preserve"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="VIEW-TOKENS">
      <xsd:annotation>
         <xsd:documentation>This primitive specifies the tokens to specify a documentation view.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="ViewTokens";xml.xsd.customType="VIEW-TOKENS";xml.xsd.pattern="(-?[a-zA-Z_]+)(( )+-?[a-zA-Z_]+)*";xml.xsd.type="string"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">primitive</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:VIEW-TOKENS--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="VIEW-TOKENS--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:pattern value="(-?[a-zA-Z_]+)(( )+-?[a-zA-Z_]+)*"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="XML-SPACE-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumerator specifies the fact that white-space shall be preserved.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="XmlSpaceEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:XML-SPACE-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="XML-SPACE-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="default">
            <xsd:annotation>
               <xsd:documentation>The value "default" signals that applications' default white-space processing modes are acceptable for this element.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="XmlSpaceEnum.default";xml.name="default"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="preserve">
            <xsd:annotation>
               <xsd:documentation>the value "preserve" indicates the intent that applications preserve all the white space.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="XmlSpaceEnum.preserve";xml.name="preserve"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:complexType name="STANDARD-NAME-ENUM">
      <xsd:annotation>
         <xsd:documentation>This enumeration lists all allowed standard abbreviations.</xsd:documentation>
         <xsd:appinfo source="tags">mmt.qualifiedName="standardNameEnum"</xsd:appinfo>
         <xsd:appinfo source="stereotypes">enumeration</xsd:appinfo>
      </xsd:annotation>
      <xsd:simpleContent>
         <xsd:extension base="AR:STANDARD-NAME-ENUM--SIMPLE">
            <xsd:attributeGroup ref="AR:AR-OBJECT"/>
         </xsd:extension>
      </xsd:simpleContent>
   </xsd:complexType>
   <xsd:simpleType name="STANDARD-NAME-ENUM--SIMPLE">
      <xsd:restriction base="xsd:string">
         <xsd:enumeration value="AP">
            <xsd:annotation>
               <xsd:documentation>This values represents the Adaptive Platform.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="0";mmt.qualifiedName="standardNameEnum.AP"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="CP">
            <xsd:annotation>
               <xsd:documentation>This Value represents the Classic Platform.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="1";mmt.qualifiedName="standardNameEnum.CP"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="FO">
            <xsd:annotation>
               <xsd:documentation>This values represents the Foundation.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="2";mmt.qualifiedName="standardNameEnum.FO"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TA">
            <xsd:annotation>
               <xsd:documentation>This Values represents the Testing of the Adaptive Platform.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="3";mmt.qualifiedName="standardNameEnum.TA"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
         <xsd:enumeration value="TC">
            <xsd:annotation>
               <xsd:documentation>This values represents the Testing of the Classic Platform.</xsd:documentation>
               <xsd:appinfo source="tags">atp.EnumerationValue="4";mmt.qualifiedName="standardNameEnum.TC"</xsd:appinfo>
            </xsd:annotation>
         </xsd:enumeration>
      </xsd:restriction>
   </xsd:simpleType>
</xsd:schema>
